vim常用快捷键整理


Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。
Vim的第一个版本由布莱姆·米勒在1991年发布。最初的简称是Vi IMitation,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行的自由软件。。


vim功能实在是太强大了本文只收录自己常用的一些命令,以助忘记。

vim常见有两种模式一种是Insert模式,该模式下可以像其它文本编辑器一样正常输入字符;
另一种是Normal模式,该模式下vim监听用户的按键可以对文本进行快速修改。
想要从Insert模式切换到Normal模式只需按下ESC键即可

打开文件

1
vim test.txt

游标移动

1.行间跳转

快捷键 说明
$h, j, k, l$ 光标左,下,上,右移动
$shift + g$ 光标移动至文本尾行
$n + shift + g$ $or$ $nG$ 光标移动至文本第$n$行

2.行内跳转

快捷键 说明
$w$ 移动到下一个单词首位
$b$ 移动到上一个单词首位
$e$ 光标移动至当前单词末位
$gg$ 光标移动至文本首行
$0$或$\wedge$ 到行头
$f$ $<$字母$>$ 向后搜索$<$字母$>$并跳转到第一个匹配的位置
$F$ $<$字母$>$ 向前搜索$<$字母$>$并跳转到第一个匹配的位置

插入操作

快捷键 说明
$i$ 在当前光标处进行编辑
$I$ 在行首插入
$A$ 在行末插入
$a$ 在光标后插入编辑
$o$ 在当前行后插入一个新行
$O$ 在当前行前插入一个新行
$cw$ 替换从光标所在位置后到一个单词结尾的字符

删除与撤销

快捷键 说明
$x$ 删除光标后的一个字符
$Shift + x$ 删除光标前的一个字符
$dd$ 删除光标所在整行,同时被删除内容存于剪贴板上
$de$ 删除光标后的单词内容,同时被删除内容存于剪贴板上
$dw$ 删除光标后的单词内容以及之后的空格,同时被删除内容存于剪贴板上
$d\$或D$ 删除至行尾
$d^{\wedge{}}$ 删除至行首
$d0$ 数字0,删除光标所在处,到该行的最前面一个字符
$dG$ 删除到文档结尾处
$d1G$ 删至文档首部
$ndd$ 从光标所在行开始向下删除$n$行
$u$ 还原上一个操作(不限于删除)

剪切、复制与粘贴

快捷键 说明
$v$ 选定文本块,移动光标键选定内容
$y$ 复制选定块
$yy$ 复制光标所在整行
$d$ 剪切选定块
$dd$ 剪切光标所在整行
$p$ 粘贴至光标下
$P$ 粘贴至光标上

查找与替换

快捷键 说明
$:/word$ 全文查找word。 按下:实际上是进入了Vim的命令模式。查找操作支持正则表达式。
$r + p$ 将光标之后的字符替换为字母$p$
$:s/word/replace$ 光标所在行的第一个word替换为$replace$
$:\%s/from/to/$ 全文查找from并替换为to
$:1,50s/from/to/$ 在第1行和第50行之间(含)进行搜索和替换

快速缩进

  • 普通模式下输入15G,跳转到15行
  • 普通模式下输入>> 整行将向右缩进(使用,用于格式化代码超爽)
  • 普通模式下输入<< 整行向左回退

保存操作

快捷键 说明
$:q!$ 强制退出,不保存
$:q$ 退出
$:wq!$ 强制保存并退出
$:w <文件路径> $ 另存为
$:saveas <文件路径>$ 另存为
$:x$ 保存并退出
$:wq$ 保存并退出