光标移动命令
命令 | 动作 |
---|---|
h | 将光标向左移动 |
j、加号 (+)、Enter 或 Return | 将光标向下移动 |
k、减号 (-) | 将光标向上移动 |
l | 将光标向右移动 |
} | 将光标移动到当前段落的末尾 |
{ | 将光标移动到当前段落的开头 |
) | 将光标移动到当前句子的末尾 |
( | 将光标移动到当前句子的开头 |
^ | 移动到当前行的第一个非空字符 |
$ | 移动到当前行末尾 |
0 (zero) | 移动到当前行开头 |
w or W | 移动到下一单词的开头 |
b or B | 移动到上一单词的开头 |
e | 移动到下一单词的末尾 |
H | 移动到屏幕的第一行 |
M | 移动到屏幕的中间一行 |
L | 移动到屏幕的最后一行 |
G | 移动到文件末尾 |
gg | 移动到文件开头 |
:n | 移动到行 n |
删除文本命令
命令 | 动作 |
---|---|
d | 删除选中的区域 |
dd | 删除整个当前行 |
10dd | 删除从当前行开始的 10 行, |
dw | 从当前位置向前删除单词 |
db | 从当前光标位置左边开始向后删除单词 |
dl | 删除当前光标位置的字符 |
dh | 删除当前光标位置左边的字符 |
d0 (zero) | 删除当前光标位置到行开头之间的单词 |
D | d$ | 删除从当前光标位置开始的整个行 |
x | 删除光标当前位置的字符 |
X | 删除光标当前位置之前的字符 |
其他命令
ih | 进入插入模式并在当前光标处插入 |
---|---|
I | 进入插入模式并在当前行的开始处插入 |
a | 进入插入模式并追加到光标后面 |
A | 进入插入模式并追加到当前行末尾 |
c | 更改选中的区域 |
C | 更改从光标当前位置开始的整个行 |
o | 在光标当前所在行下方创建一个新空行,并将光标移动到这一新空行的开头 |
O | 在光标当前所在行的上方创建一个新空行,并将光标移动到这一新空行的开头 |
r | 替换光标当前位置的单个字符 |
R | 替换从光标当前位置开始的多个字符,并在退出插入模式时结束 |
<Esc> | 退出插入或可视模式 |
> or <Tab> | 向选中区域右边缩进 |
< | 向选中区域左边缩进 |
v | 启动时突出显示字符 |
V | 启动时突出显示的整个行 |
yy | 将当前行移动/复制到内存 |
10yy | 将从当前行开始的 10 行移动/复制到内存 |
p | 粘贴复制或剪切的文本;如果字符被复制(yw dw 或 D ),就在光标当前位置之后粘贴这些字符。如果复制的是行,就在光标当前所在的行下面粘贴这些行 |
P | 作用和 p 一样,但是它在光标当前位置的前面粘贴字符,在光标当前所在行上面粘贴行 |
u | 撤消最后的更改 |
<Ctrl> R | 重做 |
/<pattern> | 搜索已找到的下一个模式,并将光标放在已找到的模式的开头 |
?<pattern> | 搜索已找到的上一个模式,并将光标放在已找到的模式的开头 |
n | 重复上一次的搜索 |
N | 重复上一次的搜索,但搜索的方向相反 |
!<cmd> | 在 Vim 会话外执行 <cmd> |