|  1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 | # :h operator 来查阅完整的列表
>G	下一行到末行缩进, 使用`>+ENTER`能达到相同效果
>>	仅缩进当前行
.	重复执行上一次命令
A	在当前行尾插入内容,相当于`$a`
J	将当前行与下一行连接到一起
f/t(F/T)	向后向前查找字符, 使用`;`进行下一个查找, 使用`,`进行反向查找
s	删除当前字符并进入插入模式
o	添加新行并进入插入模式
*	高亮文本中所有与光标处相同的单词, 使用`n\N`进行下一个
db	反向删除多个字符直至空格或者开头
dw	分多钟情况: 
	1. 当光标位于单词开头时, 删除整个单词, 直至遇到任意符号或者空格字符
	2. 当光标处于单词非开头结尾时, 删除多个字符, 直至遇到任意符号或者空格字符
	3. 当光标位于非单词末尾字母时, 反向删除一个字符
d2w	删除连续两个单词, 使用`2dw`或者`dw.`或者`c2w`能达到相同效果
cw	删除光标直到单词末尾, 并进入`插入`模式	
C	删除光标直到行尾
daw	`delete a word` 删除整个单词, 无论光标处于何处, 并删除单词之前的空格(如果有的话)
dap	删除整个段落, 行前行后都有空格的那种才叫段落
b/B	反向定位到下一个单词开头或者单词结尾(如果单词后面非换行的符号的话)
# 复制与粘贴
yyp	复制整行到下一行
yap	复制整段内容到寄存器
gp	粘贴整段内容到光标之后, 并将光标移动到所粘贴内容下方, 这一点与直接使用`p`光标位置不变所不同
yiw	复制当前单词到无名寄存器
"0p	复制专用寄存器`0`
"ayiw	复制当前单词到名为`a`的寄存器
"ap		粘贴寄存器名为`a`的内容
"_dd	寄存器
"+p	将外部剪切板内容粘贴到光标之后, 或者在插入模式下使用快捷键`<C-r>+`
dl	删除一个字符, 等同于`x`
gU	将字符全部转换为大写, 相对的, `gu`将字符转换为小写, `g~`用于翻转大小写, 可视化选择中可用, 常用组合`gUaw`
gv	重选上次高亮区域
# 光标移动操作
<C-e>	向下翻页
<C-y>	向上翻页
<ESC-.>	新增空行
0/^		移动到实际行首/移动到非空白字符行首
$/g$	移动到实际行尾/移动到屏幕行尾
w/e		正向移动到单词开头/结尾
b/ge	反向移动到当前单词或者上一个单词开头/结尾
mm/`m	标记光标当前位置以及跳转到标记位置
``		来回跳转上次标记位置
`.		上次修改的位置
`^		上次插入的位置
`<		上次高亮选区的起始位置
`>		上次高亮选取的末尾位置
%		在成对符号间进行跳转
<LINE_NUMBER>G		跳转到指定行
(/)		跳转到上一句/下一句开头
{/}		跳转到上一段/下一段的开头
:changes	查看修改
<C-p>或者<C-n>	触发自动补全
<C-x><C-k>		触发字典自动补全, 前提是开启拼写检查`:set spell`
<C-x><C-l>		触发行模式自动补全, 注意: 只适用于整行补全
<C-x><C-p>		触发单词自动补全
<C-x><C-f>		触发文件名自动补全, linux/Mac下`/home/agou-ops/<C-x><C-f>`, windows下`x:\<C-x><C-f>`
<C-x><C-o>		根据上下文进行自动补全, 多用于编程语言
<C-x>s		在插入模式下使用自动补全功能, 作用和普通模式下的`<C-x><C-k>`相同
 |