- Published on
学习 VI 编辑器
- Authors
- Name
- Arvin Wei
vim 常用的有两种模式:Normal 和 Insert ,打开文件,默认进入的是 Normal 模式
键盘组合命令何其多,使用多时,还是停留在 h, j, k, l 的程度,翻出旧文,发现好多命令如同初见。记下,勉励之
移动光标
上下移动
j 向下移动,一行,光标不会发生左右移动
+ or enter 向下移动,光标会移动到下一行的行首
k 向上移动,一行,光标不会发生左右移动
- 向上移动,光标会移动到上一行的行首
H 移动光标到当前屏幕的第一行
L 移动光标到当前屏幕的最后一行
M 移动光标到当前屏幕的中间行
nH 移动光标到当前屏幕的第一行的后n行
nL 移动光标到当前屏幕的最后一行的前n行
gg 移动到当前文档的第一行
G 移动到当前文档的最后一行
nG 移动到当前文档的第n行
h, j, k, l 前面可以跟阿拉伯数字,用以移动多行或多个字符
( 移动到当前句子的开始
) 移动到下一句的开始
{ 移动到当前段落的开始
} 移动到下一个段落的开始
左右移动
h 向左移动
l 向右移动
0 数字0 移动光标所在行的行首
^ 移动光标到当前行的第一个非空字符上
n| 移动光标到当前行的第n列
$ 移动光标所在行的行尾
b 向后移动,一次移动一个英文单词或英文符号,
B 向后移动,一次移动一个英文单词,跳过英文符号
e
w 向前移动,一次移动一个英文单词或英文符号
E
W 向前移动,一次移动一个英文单词,跳过英文符号
e, E 光标落在单词最后一个字符上
b, B, w, W 光标落在单词第一个字符上
进入插入模式
i 光标所在字符的前面插入 (insert)
a 光标所在字符的后面插入 (append)
o 小写的 o 激活光标所在行的下一行
O 大写的 o 激活光标所在行的前一行
删除
s 删除光标所在位置的后一个字符,并进入插入模式
S, cc 删除整行,进入插入模式
dd 删除一行
2dd 删除两行
x 删除光标所在位置之后的字符
X 删除光标所在位置之前的字符
dw 删除光标所在位置的到下一个空格之间的字符包括该空格
如果想保留空格使用 dE
cw 删除光标所在位置的后一个单词,并且激活插入模式
cb 删除光标所在位置的前一个单词,并且激活插入模式
如果是中文,则会删除到标点符号前的所有单词。
c0 删除从光标到该行的开始
c$ 删除从光标到该行的结束
D 删除光标所在位置到该行的行尾
c$, C 删除光标所在位置到该行的行尾,进入插入模式
替换操作
r 替换单个字符
R 进入替换模式,输入的字符会替换原有的字符,除非按ESC退出
拷贝和粘帖
yy 拷贝一行,在命令模式下输入p,粘帖拷贝的文本
Y效果等同于yy
yw 拷贝光标所在位置到下一个空格之间的字符
y0 拷贝光标所在位置到行首之间的字符
y$ 拷贝光标所在位置到行尾之间的字符
p 会将缓冲区的文本插入到光标所在位置的下一行中,
如果缓冲区为空,则插入空行
P 插入文本到光标所在位置的前一行,单独一行
撤销操作
u 撤销以前的操作
ctrl + r 恢复撤销
翻屏
ctrl + F scroll forward one screen
向下移动一屏
ctrl + B scroll backward one screen
回退一屏
ctrl + D scroll forward half screen down
向下移动半屏
ctrl + U scroll backward half screen up
回退半屏
z + Enter Move current line to top of screen and scroll
移动当前行到屏幕的最顶端
z. Move current line to center of screen and scroll
移动当前行到屏幕的中央
z- Move current line to bottom of screen and scroll
移动当前行到屏幕的最底部
[line]z z前面可以跟数字,移动光标到指定的行号
其它
ctrl + ~ 大写字符转换为小写,小写字符转换为大写
ctrl + l 重绘、刷新当前屏幕
. 重复上一次所执行的操作