一个90后程序员的网上自留地

愿有前程可奔赴 亦有岁月可回首

linux下Vim编辑器常用命令备忘

打开/退出

  • vim -R file1 只读打开
  • :qall 退出所有文件
  • :wq 写入并退出
  • :q! 强制退出

 

插入

  • i 在当前位置生前插入
  • I 在当前行首插入
  • a 在当前位置后插入
  • A 在当前行尾插入
  • o 在当前行之后插入一行
  • O 在当前行之前插入一行

 

移动

  • h 左移一个字符
  • l 右移一个字符
  • k 上移一个字符
  • j 下移一个字符
以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符。
删除
  • dd 删除当前行
  • dj 删除当前行和上一行
  • dk 删除当前行和下一行
  • 10dd 删除当前行开始的共10行
  • D 删除当前字符至行尾

 

跳转

  • gg 跳转到文件头
  • G 跳转到文件尾
  • gg=G自动缩进 (非常有用)
  • Ctrl + d 向下滚动半屏
  • Ctrl + u 向上滚动半屏
  • Ctrl + f 向下滚动一屏
  • Ctrl + b 向上滚动一屏 冒号+行号,跳转到指定行;比如:120,跳转到120行;
  • $ 跳转到行尾
  • 0 跳转到行首

 

编辑

  • Ctrl + r 重做
  • yy 复制当前行
  • 按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制任意部分
  • p 粘贴在当前位置
  • 另外,删除在vim里面就是剪切的意思,所以dd就是剪切当前行,可以用v或V选择特定部分再按d就是任意剪切了

 

查找

  • /text  查找text,按n健查找下一个,按N健查找前一个
  • ?text  查找text,反向查找,按n健查找下一个,按N健查找前一个
  • :set ignorecase  忽略大小写的查找
  • :set noignorecase  不忽略大小写的查找

 

替换

  • :s/old/new/ 用old替换new,替换当前行的第一个匹配
  • :s/old/new/g 用old替换new,替换当前行的所有匹配
  • :%s/old/new/ 用old替换new,替换所有行的第一个匹配
  • :%s/old/new/g 用old替换new,替换整个文件的所有匹配
  • 也可以用v或V选择指定行,然后执行

多文件操作

  • vim file1 file2 file3 … 同时编辑多个文件
  • :split 将窗口分成上下两个子窗口,对应两个不同的文件
  • :vsplit 将窗口分成左右两个子窗口,对应两个不同的文件
  • :open file4 打开新文件 :bn 切换到下一个文件(当前窗口)
  • :bp 切换到上一个文件(当前窗口)
  • Ctrl-w h 移动到窗口左边
  • Ctrl-w j 移动到窗口下边
  • Ctrl-w k 移动到窗口上边
  • Ctrl-w l 移动到窗口右边
点赞
-->