1.模式介绍:
在真正开始使用VIM之前,你必须先了解VIM的模式,否则在 VIM 面前你可能会手足无措。VIM是有模式
编辑器,这意味着 VIM 有多种不同的工作模式,在不同的工作模式下用户相同的操作会得到不同的结果。想象
一下你的手机,当你的手机处于待机状态时(Sleep mode),按下电源键是唤醒手机,当你的手机处于活动
状态时(Active mode),按下电源键却是进入待机状态。VIM通过模式,扩展了你的键盘,相当于使用模式
使你手机的电源键功能得到扩展一样。VIM这样做就是为了让你更高效率的编辑你的文字。
VIM的主要模式有:
1)Normal Mode:字面翻译常规模式,但是我更愿意称其为“编排模式”。VIM在启动后即为Normal
Mode,在这个模式下你的操作是命令VIM帮助你完成某个动作,例如,你在键盘
点击"h"按键,等同于你按下方向键"<—",光标向左移一个字符。在Normal Mode
下,你的更多操作是修改文档,所以我更愿意称之为编排模式。
2) Insert Mode:字面翻译插入模式,但是我更愿意称之为“编写模式”。在这个模式下,你按下"h"键,
即输入了"h"字符,和我们用记事本编辑文字无甚区别,这叫“所键既所得” ^^。当
处于Insert mode时,VIM显示如图:
3) Visual Mode:字面翻译为可视模式,其实我更愿意称之为“区块操作模式”,因为在这个模式下,你
总是先选中某个区域,然后再执行某种操作,这个模式可以视为局部的Normal Mode。
当进入Visual mode时,VIM显示如图:
2.模式之间的切换
Normal mode 切换到 Insert mode:
i:进入Insert mode,并且让光标处于当前字符之前
I:进入Insert mode,并且光标处于当前行的第一个非空字符前
a:进入Insert mode,并且光标处于当前字符之后
A:进入Insert mode, 并且光标处于当前行尾
o:进入Insert mode,并在当前行后新起一行,光标位于新行
O:进入Insert mode,并在当前行上边插入新行,光标位于新行
s:删除当前字符,然后进入Insert mode
S:删除当前行,然后进入Insert mode
Insert mode 切换到Normal mode:<ESC>按键
Normal mode 切换到Visual mode:
v:进入Visual mode,选取以字符为单位
V:进入Visual mode,选取以行为单位
Visual mode 切换到Normal mode:<ESC>按键
下图为各模式转换的关系图: