Vim搜索编辑器基本上可以分为3种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),下图所示为Vim各种模式相互转换的关系图。

命令模式:控制屏幕光标的移动,进行文本的删除、复制等文字编辑工作(不使用[Del]键和[Backspace]键)以及进入插入模式,或者回到底行模式。

插入模式:只有在插入模式下,才可以输入文字。按[Esc]键可回到命令行模式。很多Vim编辑器使用者希望一打开Vim就可以输入内容,但这是不能成功的,因为刚打开Vim编辑器时处于命令模式。

底行模式:保存文件或退出Vim,同时也可以设置编辑环境和一些编译工作,如列出行号、寻找字符串等。

有的书中把Vim编辑器简化成两个模式,将底行模式也算作命令行模式。

c83d70cf3bc79f3dd5f34549baa1cd11728b29bc

打开后默认进入的是命令模式,在命令模式下输入i,a,o中的任何一个字母就可进入插入模式,按Esc键可回到命令模式,在命令模式下输入冒号可进入底行模式。插入模式和底行模式相互不能转换,需先回到命令模式再转换。

  1. 底行模式下使用正则表达式:%s/[ \t]*\d\{1,4\}/,可去掉每行前的数字及数字前的字符和空格。

:1,315s/^\s*[0-9]*\s*//g

解释:1为起始行号,315为终止行号,^在正则中代表行首,\s*代表若干个空格,可以没有,[0-9]*代表若干个数字,可以没有,即将^\s*[0-9]*\s*替换为NOTHING。


2.使用以下方法对代码进行缩进:

gg    跳到行首

v     进入Visual模式

G     跳到行尾

=     对选中的行缩进(这里将所有行选中了)

所有代码都被正确缩进了