【Linux】vim的常见命令使用

95 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情

vi/vim

  1. 三种工作模式

    • 命令模式:默认的工作模式

      • 移动
       命令行的移动:H,L,K,J:前后上下
       移动到行首: 0
       移动到行尾: $
       移动到文本首部:gg
       移动到文本末尾:G
       移动到指定行:  行号G 
       ​
      
      • 删除/撤销
       x:删除光标所在字符
       X: 删除光标前一个字符
       dw: 在一个单词的前面按下, 删除一个单词 
       d0: 删除光标所在行前面的文字
       删除光标所在行后面的文字:`d$ 或者 D`
       删除所在行:  `dd`
       连续删除多行:`n dd`
       撤 销:  `u` 
       反撤销: `CTR  r`
       ​
      
      • 粘贴
       粘贴:`p:在下一行粘贴, P:在当前行`
       复制:`yy:复制当前行, n yy 复制n行`
      
      • 可视模式:v

        按下v,然后按下:H,L,K,J去选择自己需要的文本。 在可视模式下,删除是d,复制是y,如果需要选择一个位置粘贴,按下p/P,粘贴和非可视模式下有所不同。 在可视模式下,是直接在当前字符位置(p)或者在当前字符前面(P)插入文本。

      • 查找:

       1. /  查找文本:向下遍历查找
       2. ?  查找文本:向上遍历查找
       3. 在需要查找的字符处按下:#
       
       遍历快捷键: 
           N: 向上 
           n: 向下
      
      • 其他操作

        向右缩进: >> 向左缩进: <<

    • 编辑模式

      • 从命令行进入编辑模式:AROS
       a:在光标的后面插入
       i: 在光标的前面插入
       o: 在光标所在下边开辟一个新的行插入
       s: 删除光标后面的字符再开始输入
       
       A: 在当前行的尾部插入
       I: 在当前行的头部插入
       O: 在光标所在上边开辟一个新的行插入
       S: 删除光标所在行再开始输入
      
    • 末行模式: 只能从命令行模式进入末行模式,方法是在命令行模式下按下:

       行跳转:直接输入行号     
       ​
       文本替换:
               
           a) 指定行:先跳转到指定行,然后输入` :行号 s/被替换的内容/替换的内容`,如果是该行所有的内容:`s/被替换的内容/替换的内容/g`
               
           b) 所有行:`%s/被替换掉内容/替换内容/g`
       ​
       末行模式下输入命令:`:!pwd``:!ls`
       回到命令模式:`:w(保存文件)`,或者两次`esc`
      
    • 退出 当所有的操作完成,需要保存文件/退出,需要先回到末行模式:

      保存::w 退出::q 退出不保存::q! 退出并保存::wq || x or 在命令模式下:ZZ

  2. vim分屏操作

  • 垂直分屏: :sp

    • 屏幕切换:ctr+w+w
  • 水平分屏:vsp

    • 水平分屏指定文件:vsp + 文件
  • 退出所有:wqall