vim基本操作
移动光标
下面操作均需处在一般模式(默认的模式)下:
h``j``k``l
分别为“左”“下”“上”“右”- 翻半页:
Ctrl + d
(d
for down),Ctrl + u
(u
for up)。 - 翻一页:
Ctrl + f
(f
for front),Ctrl + b
(b
for back)。 gg
表示移到到首行。G
表示移动到尾行。nG
(n
指的是数字)表示移动到第n行;一般用于根据程序错误提示信息进行 bug fix。0
表示移到光标所在行的行首; $表示移动到光标所在行的行尾。
复制剪切粘贴
- 按
yy
复制光标所在行。 - 按
dd
剪切光标所在行,如果光剪切不粘贴,那就相当于删除。 - 按
p
将复制/剪切的内容粘贴至光标后,因为光标是在具体字符的位置上,所以实际是在该字符的后面;整行的复制粘贴在游标的下一行。
v模式相关
- 按
v
切换到“高亮选择模式”,移动光标进行选择。 - 在
v模式
下,按y
(y
for yank)复制高亮选择的内容。 - 在
v模式
下,按d
剪切高亮选择的内容,如果光剪切不粘贴,那就相当于删除。
撤销、重做
以下仅讨论vim下的操作(vi的操作稍有不同):
- 按
u
进行撤销,可多次撤销。 - 按
Ctrl + r
(r
for redo)进行重做,可多次重做。
进入编辑模式
下面所有操作均需在一般模式下执行:
i
,在当前光标所在字符前插入。o
,在当前光标所在行的下一行插入新的一行。O
,在当前光标所在行的上一行插入新的一行。
查找和替换字符串
下面所有操作均需在一般模式下执行:
/word
,向下查找一个字符串word,查找后按n
看下一匹配结果,按N
看上一匹配结果。?word
,向上查找一个字符串word,查找后按n
看下一匹配结果,按N
看上一匹配结果。:n1,n2s/word1/word2/g
,在n1和n2行之间查找word1并替换为word2,其中n1、n2皆可取数字,另外n2可取$表示最后一行。
行号相关
:set nu
表示显示行号。:set nonu
表示不显示行号。
保存及退出
:w
,保存文本。:q
,退出vim。:w!
,强制保存,在root用户下,即使文本只读也可以完成保存。:q!
,强制退出,所有改动不生效。:wq
,保存并退出。