vim编辑器可分为三种状态,分别是命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode),各模式转换关系如下:
-
刚进入vim时为命令模式,输入i/a/o进入插入模式,或输入:进入底行模式;
-
插入模式、底行模式下按ESC回到命令模式;
【命令模拟的文本编辑命令】
-
dd 删除光标所在当前行。
-
ndd n代表要删除的行数。例如5dd命令不仅删除当前行,还删除随后的4行。
-
S 删除当前行,并开始在当前的空白行插入文本。
-
J 将当前行和前一行连接起来,并删除因此出现的空行。
【命令模式中滚动屏幕】
-
0将光标移动到行首。
-
$将光标移动到行末。
-
G将光标移动到当前文档底部。
-
H将光标移动到屏幕上第1行。
-
L将光标移动到屏幕上最后1行。
-
a然后回车 将光标所在行移至屏幕顶部。
-
z然后按"-" 将光标所在行移至屏幕底部。
-
z然后按"." 将光标所在行移至屏幕中部。
-
Ctrl+u/d 向上/下滚动半屏。
-
Ctrl+f/b 向前/后滚动全屏。
【文件操作】
-
:wq/x 保存并退出
-
:w 保存
-
:q 退出
-
:q! 强行退出,忽略未保存的修改。
-
:e! 丢失所有更改,重新载入上次保存的内容。
【查找与替换】
-
/pattern 查找指定内容,支持正则表达式。
-
/ 重复上一次查找
-
% 把光标移至匹配的圆括号或方括号
-
:s/pattern1/pattern2 用pattern2替换当前行中与pattern1匹配的每个内容。
-
:%s/pattern1/pattern2 用pattern2替换整个文件 中与pattern1匹配的每个内容。