Normal模式:
光标移动:
w
:光标移动至下一单词首位
b
:光标移动至当前单词首位,如果光标已经在当前单词首位,就移动到前一单词首位
e
:光标移动至当前单词末位
gg
:光标移动至文本首行
Shift
+g
:光标移动至文本尾行
2+Shift
+g
:光标移动至文本第2行
插入行:
o
:在当前光标的下方插入新一行
Shift
+o
: 在当前光标的上方插入新一行
文本操作:
x
:删除光标后的一个字符
Shift
+x
:删除光标前的一个字符
dd
:删除整行
de
:删除单词
dw
:删除单词以及之后的空格
u
:撤销
y
:复制所选
yy
:复制整行
d
:剪切所选
dd
:剪切整行
p
:粘贴文本
查找与替换:
:/xxx
:全文查找xxx
。 支持正则:https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/regular-expression-language-quick-reference
r
+p
:将光标之后的字符替换为字母p
:s/word/aaa
:光标所在行的第一个word
替换为aaa
。
:%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
向下滚屏,用来帮助查看前后内容以决定进行操作。