VIM学习总结
1. 移动光标
命令 解释 w 移动光标到下一个单词的开头(标点符号也算是一个单词,以下均如此) e 移动光标到下一个单词的结尾 b 移动光标到上一个单词的开头 0 移动光标到本行最开头,包括空格 ^ 移动光标到本行最开头的字符处,不包括空行(和上面不一样) $ 移动光标到本行的字符结尾处,不包括空行 A 移动光标至行尾并处于“追加”状态,直接编辑 H 移动光标到屏幕(非整个文件)的首行的首个字母 M 移动光标到屏幕的中间一行 L 移动光标到屏幕的尾行的首个字母处 gg 移动光标到文档首行的首个字母处 G 移动光标到文档尾行的首个字母处 :n 跳至第n行 ctrl + f 向下翻页 同 page down ctrl + b 向上翻页 同 page up ctrl + d 向下翻半页 ctrl + u 向上翻半页 ctrl + e 向下翻一行 ctrl + y 向上翻一行 { 转到上一个空行的起始位置处 } 转到下一个空行的起始位置处 '' 移动光标到上一个标记处, '. 移动光标到上一次的修改行 `. 移动光标到上一次的修改点
命令 | 解释 |
---|---|
w | 移动光标到下一个单词的开头(标点符号也算是一个单词,以下均如此) |
e | 移动光标到下一个单词的结尾 |
b | 移动光标到上一个单词的开头 |
0 | 移动光标到本行最开头,包括空格 |
^ | 移动光标到本行最开头的字符处,不包括空行(和上面不一样) |
$ | 移动光标到本行的字符结尾处,不包括空行 |
A | 移动光标至行尾并处于“追加”状态,直接编辑 |
H | 移动光标到屏幕(非整个文件)的首行的首个字母 |
M | 移动光标到屏幕的中间一行 |
L | 移动光标到屏幕的尾行的首个字母处 |
gg | 移动光标到文档首行的首个字母处 |
G | 移动光标到文档尾行的首个字母处 |
:n | 跳至第n行 |
ctrl + f | 向下翻页 同 page down |
ctrl + b | 向上翻页 同 page up |
ctrl + d | 向下翻半页 |
ctrl + u | 向上翻半页 |
ctrl + e | 向下翻一行 |
ctrl + y | 向上翻一行 |
{ | 转到上一个空行的起始位置处 |
} | 转到下一个空行的起始位置处 |
'' | 移动光标到上一个标记处, |
'. | 移动光标到上一次的修改行 |
`. | 移动光标到上一次的修改点 |
2. 查找
命令 解释 /xxx 整篇文档中搜索匹配xxx的字符串,向下寻找( 查找到以后, 再输入 n 查找下一个匹配处, 输入 N 反方向查找) ?xxx 同上,向上寻找 % 查找与光标所在处相匹配的反括号, 包括 () [] { } f(F)x 在光标所在行进行查找, 查找光标右(左)方第一个x字符(找到后, 输入 ; 表示继续往下找, 输入 , 表示反方向查找)
命令 | 解释 |
---|---|
/xxx | 整篇文档中搜索匹配xxx的字符串,向下寻找( 查找到以后, 再输入 n 查找下一个匹配处, 输入 N 反方向查找) |
?xxx | 同上,向上寻找 |
% | 查找与光标所在处相匹配的反括号, 包括 () [] { } |
f(F)x | 在光标所在行进行查找, 查找光标右(左)方第一个x字符(找到后, 输入 ; 表示继续往下找, 输入 , 表示反方向查找) |
3. 替换
命令 :12,23s/^/#/
命令 |
---|
:12,23s/^/#/ |
4. 复制/粘贴
命令 解释 :12,23s/^/#/ 将从12行到23行的行首加入 # 字符,通常可以用来注释 yw 拷贝从当前光标到光标所在单词结尾的内容 dw 删除从当前光标到光标所在单词结尾的内容 daw 删除光标所在的单词,不管光标在此单词那一位置 y0 拷贝从当前光标到光标所在行首的内容 d0 删除从当前光标到光标所在行首的内容 y$ 拷贝从当前光标到光标所在行尾的内容 d$ 删除从当前光标到光标所在行尾的内容 D 删除从当前光标到光标所在行尾的内容 yy 拷贝光标所在行所有内容 dd 删除光标所在行所有内容 ddp 光标所在行与下一行交换 J 光标所在行与下一行合并
命令 | 解释 |
---|---|
:12,23s/^/#/ | 将从12行到23行的行首加入 # 字符,通常可以用来注释 |
yw | 拷贝从当前光标到光标所在单词结尾的内容 |
dw | 删除从当前光标到光标所在单词结尾的内容 |
daw | 删除光标所在的单词,不管光标在此单词那一位置 |
y0 | 拷贝从当前光标到光标所在行首的内容 |
d0 | 删除从当前光标到光标所在行首的内容 |
y$ | 拷贝从当前光标到光标所在行尾的内容 |
d$ | 删除从当前光标到光标所在行尾的内容 |
D | 删除从当前光标到光标所在行尾的内容 |
yy | 拷贝光标所在行所有内容 |
dd | 删除光标所在行所有内容 |
ddp | 光标所在行与下一行交换 |
J | 光标所在行与下一行合并 |
5. 关闭文件
命令 解释 :q 退出 :wq 保存并退出 :q! 不保存并退出 :w 保存 :w! 强行保存 Zz 保存并退出
命令 | 解释 |
---|---|
:q | 退出 |
:wq | 保存并退出 |
:q! | 不保存并退出 |
:w | 保存 |
:w! | 强行保存 |
Zz | 保存并退出 |
关注公众号:数据结构与算法那些事儿,每天一篇数据结构与算法