vim教程:vimtutot
1. 命令模式快捷键
1.1 光标的移动
快捷键 | 说明 |
---|---|
k | 上 |
j | 下 |
h | 左 |
l | 右 |
w | 移动到下一个单词首 |
0 | 行首 |
$ | 行尾 |
gg | 文件头 |
G | 文件尾 |
ngg 或 nG | 移动到第n行 |
1.2 删除内容
快捷键 | 说明 |
---|---|
x | 删除光标所在的字符 |
dw | 删除光标位置开始的一个单词 |
d0 | 删除光标位置到行首 |
d$ | 删除光标位置到行尾 |
D | 删除光标位置到行尾 |
dd | 删除光标所在行 |
ndd | 从光标所在行删除n行 |
u | 撤销 |
ctrl+r | 反撤销 |
删除其实是剪切
1.3 复制和粘贴
快捷键 | 说明 |
---|---|
yy | 复制光标所在行 |
nyy | 从光标位置开始复制n行 |
p | 粘贴到光标所在行下方 |
P | 粘贴到光标所在行上方 |
r | 替换光标所在位置的字符 |
1.4 可视模式
快捷键 | 说明 |
---|---|
v | 进入可视模式 |
y | 复制选中的内容 |
p | 在当前光标后粘贴 |
P | 在当前光标前粘贴 |
1.5 查找
快捷键 | 说明 |
---|---|
/string | 向下查找string |
n | 向下遍历 |
N | 向上遍历 |
?string | 向上查找string |
# | 查找光标所在位置的单词 |
1.6 切换模式
默认进入命令模式
快捷键 | 说明 |
---|---|
i | 在光标位置插入 |
I | 在光标所在行首插入 |
a | 在光标位置后插入 |
A | 在光标所在行尾插入 |
o | 在光标所在行的下一行插入 |
O | 在光标所在行的上一行插入 |
s | 删除当前单词,进入插入模式 |
S | 删除当前行,进入插入模式 |
Esc | 进入命令模式 |
: | 进入末行模式 |
1.7 其他常用命令
快捷键 | 说明 |
---|---|
gg=G | 格式化 |
>> | 光标所在行向右移动一个tab |
<< | 光标所在行向左移动tab |
n>> 或 n<< | 光标开始n行向左或向有移动一个tab |
K | 查看manual page(默认进入第一章) |
nK | 打开第n章的manual page |
ZZ | 保存退出 |
2. 末行模式快捷键
2.1 文本替换
快捷键 | 说明 |
---|---|
:!command | 执行command命令 |
:s/src/dest/ | 将当前行第一个src替换为dest |
:s/src/dest/g | 将当前行所有src替换为dest |
:n,ms/src/dest/g | 将n-m行所有src替换为dest |
:%s/src/dest/ | 将所有行第一个src替换为dest |
:%s/src/dest/g | 将所有src替换为dest |
:%s/src/dest/gc | 将所有src替换为dest,替换前会确认 |
g:当前行
c:替换前确认
%:所有的
2.2 保存和退出
快捷键 | 说明 |
---|---|
:w | 保存 |
:q | 退出 |
:q! | 强制退出 |
:x | 保存退出 |
:wq | 保存退出 |
2.3 分屏
快捷键 | 说明 |
---|---|
:sp filename | 横屏模式(默认打开当前文件) |
:spv filename | 竖屏模式(默认打开当前文件) |
ctrl+ww | 屏幕切换 |
ctrl+w[hjkl] | 屏幕切换 |
:q | 退出光标所在分屏 |
:qall | 全部退出 |
:w | 保存 |