Vim 的四种模式
- Normal mode: 普通模式, 移动光标或使用命令修改文本
- Visual mode: 浏览模式, 选择文本
- Insert mode: 插入模式, 编辑文本
- Command mode: 命令模式, 执行命令
插入模式
i |
在光标后编辑 |
I |
在光标所在行起始编辑 |
a |
在光标前编辑 |
A |
在光标所在行末尾编辑 |
o |
在光标所在行下方增添新行并编辑 |
O |
在光标所在行上方增添新行并编辑 |
浏览模式
v |
从光标所在处开始,
按字符选择文本 |
V |
从光标所在行开始,
按行选择文本 |
ctrl+v |
从光标所在列开始,
按列选择文本 |
命令模式
:q
退出
:w
保存
:wq
保存并退出
:e {文件名}
打开文件并编辑
:ls
展示打开的缓存区
:help {命令}
打开帮助, 例如
:help :w
打开关于命令 :w
的帮助
:help w
打开关于命令 w
的帮助
导航
移动屏幕
zt |
移动屏幕, 使得光标在窗口顶端 |
zt |
移动屏幕, 使得光标在窗口顶端 |
zz |
移动屏幕, 使得光标在窗口中部 |
zb |
移动屏幕, 使得光标在窗口底部 |
H |
移动光标至屏幕顶端 |
M |
移动光标至屏幕中部 |
L |
移动光标至屏幕底部 |
gg |
移动光标至文件起始处 |
G |
移动光标至文件末尾处 |
{行号}gg
, {行号}G
, :{行号}
移动光标至行{行号}
单词
w |
将光标移动到前一个单词的起始处 |
e |
将光标移动到当前单词的末尾处; 若已经在末尾,
则移动到前一个单词的末尾处 |
b |
将光标移动到后一个单词的起始处 |
ge |
将光标移动到后一个单词的末尾处 |
行
^ |
将光标移动到所在行第一个字符处 |
0 |
将光标移动到行首 |
$ |
将光标移动到行尾 |
搜索
f{字符} |
在当前行向前搜索并跳转至字符 char 处 |
F{字符} |
在当前行向后搜索并跳转至字符 char 处 |
t{字符} |
在当前行向前搜索并跳转到字符 char 后 |
T{字符} |
在当前行向后搜索并跳转到字符 char 前 |
使用 ,
/ ;
搜索 后/前 一个字符
使用 N
/ n
搜索 后/前 一个{正则表达式}
编辑文档
删除和替换
d{导航命令}
删除 {导航命令}
- e.g.
dw
删除单词, d$
删除光标处至行尾的内容,
d0
删除光标处至行首的内容
c{导航命令}
替换 {导航命令}
- e.g.
cw
可以看作执行删除单词命令后再执行命令
i
x
删除字符 (等价于 dl
)
s
替换字符 (等价于 cl
)
复制和粘贴
y␣ |
复制光标所在处字符 |
yy |
复制光标所在行 |
yw |
复制光标所在单词 |
y$ |
复制光标处至行尾的内容 |
撤销和重现
计数
在此处仅举一些命令作为例子, 其它可类推
3w
向前移动 3 个单词
5j
向下移动 5 行
7dw
删除 7 个单词