Vim主要分为两种模式一种是Insert模式,该模式下可以像其它文本编辑器一样正常输入字符;另一种是Normal模式,该模式下Vim监听用户的按键可以对文本进行快速修改。
想要从Insert模式切换到Normal模式只需按下ESC
键即可。
想要从Normal模式切换到Insert模式,有很多方法。
最直接的是按下I
键,效果是:在当前光标处插入文本。
如果按下A
键,效果是:在下一光标处追加文本。
以下均是在Normal模式下的部分快捷键说明:
光标的快速移动
h
,j
,k
,l
:左,下,上,右w
:光标移动至下一单词首位b
:光标移动至当前单词首位,如果光标已经在当前单词首位,就移动到前一单词首位e
:光标移动至当前单词末位gg
:光标移动至文本首行Shift
+g
:光标移动至文本尾行27
+Shift
+g
:光标移动至文本第27行
插入行
o
:在当前光标的下方插入新一行Shift
+o
: 在当前光标的上方插入新一行
删除与还原
x
:删除光标后的一个字符Shift
+x
:删除光标前的一个字符dd
:删除光标所在整行,同时被删除内容存于剪贴板上de
:删除光标后的单词内容,同时被删除内容存于剪贴板上dw
:删除光标后的单词内容以及之后的空格,同时被删除内容存于剪贴板上u
:还原上一个操作(不限于删除)
剪切、复制与粘贴
- 选定文本块:使用
v
进入可视模式;移动光标键选定内容 y
:复制选定块yy
:复制光标所在整行d
:剪切选定块dd
:剪切光标所在整行p
:粘贴文本
查找与替换
f
+o
:在当前行的光标之后查找字母o
F
+b
:在当前行的光标之前查找字母b
:/word
:全文查找word
。 按下:
实际上是进入了Vim的命令模式。查找操作支持正则表达式。r
+p
:将光标之后的字符替换为字母p
:s/word/replace
:光标所在行的第一个word
替换为replace
。:%s/from/to/
:全文查找from
并替换为to
。:1,50s/from/to/
:在第1行和第50行之间(含)进行搜索和替换。:45s/from/to/
表示仅仅在第45行进行搜索和替换。而1,$
行号范围和%
是等价的。:%s/from/to/g
:全文查找from
并替换为to
,包含选项g
的替换范围更广。??:%s/from/to/gc
:全文查找from
并替换为to
,替换时询问。可以选择y/n/a/q/l/^E/^Y
:y
表示同意当前替换;n
表示不同意当前替换;a
表示替换当前和后面的并且不再确认;q
表示立即结束替换操作;l
表示把当前的替换后结束替换操作;^E
向上滚屏^Y
向下滚屏,用来帮助查看前后内容以决定进行操作。
执行Shell命令
:!ls
就等同于在Shell终端执行ls
命令。