1. 模式切换
i
// 按i进入Insert模式ESC
// 按ESC返回Normal模式:help <command>
// 显示相关命令的帮助(退出帮助需要:q
)
2. 移动光标
-
hjkl
// 移动光标,分别为『左』『下』『上』『右』(光标键← ↓ ↑ →
也可以) -
0
// 移动至行首(数字零) -
$
// 移动至行尾 -
NG
// 快速移动光标至N行(或者使用:N
命令也可以快速移动光标值N行) -
gg
// 快速移动光标至第一行 -
G
// 快速移动光标值最后一行 -
w
// 到下一个单词的开头(若是大写,则认为以blank字符分割单词) -
e
// 到下一个单词的结尾(若是大写,则认为以blank字符分割单词) -
%:
// 匹配括号移动,包括(, [, {, (需要先把光标移动至括号上) -
*
// 匹配光标当前所在的单词,移动光标至下一个匹配单词 -
#
// 匹配光标当前所在的单词,移动光标至上一个匹配单词 -
^
// 到本行的第一个非blank字符 -
g_
// 到本行最后一个不是blanl字符的位置 -
fa
// 到下一个为a
的字符处(a
也可以为其他字符) -
3fa
// 在当前行查找第三个出现的a
-
t,
// 到,
前的第一个字符(,
也可以为其他字符) -
F
/T
// 与f
/t
一样,只不过是相反方向注:
<start position><command><end position>
// 很多命令可以和移动光标命令联动,比如0y$
意味着0
先到行首、y
从这里进行拷贝、$
拷贝到本行最后一个字符
3. 插入/替换
a
// 在光标后插入o
// 在当前行后插入一个新行cw
// 替换从光标所在位置后到一个单词结尾的字符gU
// 将选择部分变为大写gu
// 将选择部分变为小写
4. 删除/剪切/粘贴
x
// 删除当前光标所在的一个字符d
// 删除选择部分dt"
// 删除所有内容,直到遇到"
,"
可以为任意字符dd
// 删除当前行(并把删除的行保存到剪贴板)p
// 粘贴剪贴板
5. 撤销/取消撤销
u
// 撤销,undoctrl-r
// 取消撤销,redo
6. 打开/切换文件
:e <path/to/file>
// 打开一个文件:saveas <path/to/file>
// 另存为为<path/to/file>:bn
// 切换下一个文件:bp
// 切换上一个文件
7. 退出/保存文件
:w
// 存盘:x
// 保存并退出,仅在需要时保存:wq
// 保存并退出(:w 保存, :q 退出)(w后面可以跟文件名)ZZ
// 保存并退出,不需要输入冒号并回车:q!
// 退出不保存:qa!
// 强行退出所有正在编辑的文件(即使有过更改)
8.命令快速重复
.
// (小数点)可以重复上一次命令N<command>
// 重复某个命令N次