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 个单词