VIM的快捷键

通用必会

快捷键 作用 触发模式 备注
u 撤销 普通 为你的错误操作买单
Ctrl+r 撤销已做的撤销 普通 不想做撤销呢

移动

移动的命令很重要,删除,复制,粘贴都跟它有关

光标移动

普通模式下作用

快捷键 作用
h 光标向左移动一个字符
j 光标向下移动一行
k 光标向上移动一行
l 光标向右移动一个字符

光标跳转

快捷键 作用
w 光标跳转到下一个单词的首字母
b 光标跳转到上一个单词的首字母
e 光标跳转到下一个单词的尾字母
ge 光标跳转到上一个单词的尾字母
$ 光标跳转到当前行的行尾
0(数字) 光标跳转到当前行的行首
^ 光标跳转到当前行的行首非空字符
g_ 光标跳转到当前行的行尾非空字符
gg 光标跳转到文件首行首个非空字符
G 光标跳转到文件尾行首个非空字符

翻页

快捷键 作用
Ctrl + f 向下滚动一页
Ctrl + b 向上滚动一页
Ctrl + d 向下滚动半页
Ctrl + u 向上滚动半页

替换

快捷键 作用 触发模式
x 替换光标所在的字符 普通模式
ciw 替换当前光标所在的单词

删除

快捷键 作用 触发模式
x 删除光标所在位置的字符 普通模式
dw 删除光标位置到下一个单词开头的字符 普通模式
D/d$ 删除光标位置到行尾的字符
d0 删除光标位置到行首的字符
d^ 删除光标位置到行首非空的字符
dd 删除当前行 普通模式
ndd 删除n行,包含当前行
dgg 删除当前行到文件首行
dG 删除当前行到文件尾行

使用 ndd 可以使用 p 来粘贴刚才删除的行

复制+粘贴

命令 作用 备注
yy 复制当前行。 yy - Yank (copy) line
yw 复制从光标位置到下一个单词结尾的字符。 yw - Yank (copy) word
y$ 复制从光标位置到行尾的字符。 y$ - Yank (copy) to end of line
y0 复制从光标位置到行首的字符(忽略空白字符)。 y0 - Yank (copy) to beginning of line
y^ 复制从光标位置到行首的第一个非空白字符。 y^ - Yank (copy) to first non-blank character
p 粘贴最后一次复制的内容。 p - Paste last yanked (copied) content
P 在当前行之前粘贴最后一次复制的内容。 P - Paste above current line
“+y 复制文本到系统剪贴板。 "+y - Yank (copy) to system clipboard
“+p 从系统剪贴板粘贴内容。 "+p - Paste from system clipboard
:reg 查看 Vim 寄存器中保存的内容。 :reg - View contents of Vim registers
“ayy 将当前行复制到寄存器 a 中。 "ayy - Copy current line to register a
“ap 从寄存器 a 中粘贴内容。 "ap - Paste from register a
“ayiw 将当前单词复制到寄存器 a 中。 "ayiw - Copy current word to register a
“aP 从寄存器 a 中粘贴内容到当前位置。 "aP - Paste from register a at current position
使用 Hugo 构建
主题 StackJimmy 设计