Vim的使用
基本上vim分为三种模式,分别是普通模式(Normal mode),输入模式(Insert mode),和命令行模式(Command line mode)。他们的关系如图所示:
Vim的七字口诀:移删复替撤更跳
移:指光标的移动
- 键盘的 “↑、↓、←、→”
- 键盘的 ”k、j、h、l“
- w ->光标跳转到下一个词的词首
- b ->光标跳到上一个词的词首,包含光标所在词
- H:光标移到当前屏幕的上方
- M:光标移到当前屏幕的中间
- L:光标移到当前屏幕的下方
删:删除光标处内容
- dd:删除一行(本质上是将其剪切掉了)
- [num] dd:删除num行
- x:删除单个字符
- [num] x:删除多个字符
- X:删除光标所在的前一个字符
- [num] X:删除光标所在前num个字符
复:在光标处复制内容(附带粘贴)
- yy:复制一行
- [num] yy:复制多行
- p:内容粘贴到光标下一行
- P:将内容粘贴到光标上一行
替:替换光标处的字符
- r:替换光标所在字符
- R:替换多个字符(会进入替换模式)
撤:指撤销上一个操作
- u:撤销
- ctrl + r:反撤销
更:对光标处进行更改
- C:删除光标之后的这一行所有内容全部删除掉,并使vim从normal模式进入到insert模式
- cw:删除光标所在的单词,并使vim从normal模式进入到insert模式
跳:光标的跳转
- gg:跳转到文件的头部
- G:跳转到文件的尾部
- [num] G:跳转到指定的行号
- ctrl + o :跳转到上一次的位置
- ctrl + w w:跳转到另一个文件中去
注:对代码进行缩进整理可使用gg = G
Vim从normal模式跳转到insert模式
- i:在光标所在位置的前面插入(前插)
- I:在光标所在这一行的头部插入(头插)
- o:在光标的下一行插入(下插)
- O:在光标的上一行插入(上插)
- a:在光标所在位置的后面插入(后插)
- A:在光标的所在行的尾部插入(尾插)
其他
多行注释
- ctrl + v :进入视图(Vision)模式
- 使用"j、k、h、l":选中行
- 按下”I“ :输入” // “
- 按下”ESC“,即可加上注释
- ‘>>’:向右移动代码
- ’<<‘:向左移动代码
命令行模式
- 删除/添加行号
: set nu
:添加行号
: set nonu
:删除行号
- 分屏打开多个文件
vs [FileName]
- 替换字符串
: s ///
:代表单行
: %s ///
:代表多行
: (%)s / [wait to replace str] / [replace str] / g
此处的g若不加,则只替换当前行的第一个等待替换的字符串,若加上,则替换所有的字符串
- 查找字符串
/ + [str]
,按 n 向下遍历