看来我已经全部掌握这些快捷键了。。
光标移动
快捷键 | 说明 |
---|---|
h | 左移 |
j | 下移 |
k | 上移 |
l | 右移 |
w | 跳到下一个词开始的位置 (标点符号也算) |
W | 跳过一个词 (不算标点) |
e | 跳到单词结尾 (算标点) |
E | 同上 (不算标点) |
b | 跳到单词开头 (算标点) |
B | 同上 (不算标点) |
0 | 跳到行首 |
^ | 跳到行第一个非空白字符处 |
$ | 跳到行尾 |
G | 跳转到行尾,前面加数字可跳转到该行 |
提示: | 在移动命令前面加数字可以重复执行,比如 4j 向下移动四行。 |
插入模式 | 进入插入 / 追加文本 |
i | 在光标处进入插入模式 |
I | 在行首进入插入模式 |
a | 在光标后进入插入模式 |
A | 在行尾进入插入模式 |
o | 在当前行下方追加一空行 |
O | 在当前行上方追加一空行 |
ea | 在单词结尾进入插入模式 |
Esc | 退出插入模式 |
编辑
快捷键 | 说明 |
---|---|
r | 修改单个字符,无需进入插入模式 |
J | 将下一行移到当前行尾 |
cc | 删除一整行进入插入模式 |
cw | 删除单词进入插入模式 |
c$ | 从当前光标删到行尾并进入插入模式 |
s | 删除一字符并进入插入模式 |
S | 删除一整行并进入插入模式 (和 cc 一样) |
xp | 交换两个字符 (先删除一个字符在粘贴) |
u | 撤销 |
. | 重复上一个动作 |
选择文本 (可视化模式)
快捷键 | 说明 |
---|---|
v | 进入基于字符的可视化模式, 可标记行, 然后下指令 (比如y 复制) |
V | 进入基于行的可视化模式 |
o | 移到选择的文本另一端 |
Ctrl+v | 进入基于块的可视化模式 |
O | 移到块的另一个角 |
aw | 选定一个单词 |
ab | 选定一个括号 (*) 块 (包括括号() ) |
aB | 选定一个括号 {*} 块 (包括括号{} ) |
ib | 选定 () 内部内容 |
iB | 选定 {} 内部内容 |
Esc | 退出可视化模式 |
可视化操作
快捷键 | 说明 |
---|---|
> | 右移 |
< | 左移 |
y | 复制选中的文本 |
d | 删除选中的文本 |
~ | 大小写转换 |
复制粘贴
快捷键 | 说明 |
---|---|
yy | 复制一行 |
2yy | 复制两行 |
yw | 复制一个单词 |
y$ | 从当前光标复制到行尾 |
p | 粘贴到光标后 |
P | 粘贴到光标前 |
dd | 删除(剪切)一行 |
dw | 删除(剪切)当前单词 |
x | 删除(剪切)当前字符 |
退出 VIM
快捷键 | 说明 |
---|---|
:w | 保存文件,不退出 |
:wq | 保存文件并退出 |
:q | 退出,若发生了修改而没保存则无法退出 |
:q! | 强制退出 |
搜索 / 替换
快捷键 | 说明 |
---|---|
/pattern | 往后搜索字符串 |
?pattern | 往前搜索字符串 |
n | 向相同方向搜索下一个字符串 |
N | 向相反方向搜索下一个字符串 |
:%s/old/new/g | 将所有的 old 替换成new |
:%s/old/new/gc | 同上,只不过是一个一个询问 |
多文件操作
快捷键 | 说明 |
---|---|
:e filename | 在新缓冲区编辑文件 |
:bnext (或 :bn) | 跳到下一个缓冲区 |
:bprev (或 :bp) | 跳到前一个缓冲区 |
:bd | 删除当前缓冲区 (即关闭文件) |
:sp filename | 在新缓冲区打开一个文件并分割窗口 |
ctrl+ws | 分割窗口 |
ctrl+ww | 切换窗口 |
ctrl+wq | 关闭窗口 |
ctrl+wv | 垂直分割窗口 |