vim有多种模式,接下来要介绍两种模式,一个是command模式,我们可以在这个模式下进行查看以及一些命令输入,还有一种模式就是编辑模式,可以在编辑模式下进行对文本的编辑,从command模式进入编辑模式的方法时按i键或者Insert键,从编辑模式进入command模式是按键盘上的Esc键。(每次进入vim的初始模式都是command模式)。

 

首先是在终端里通过vim新建一个文本

peter@peter-virtual-machine:~$ vim

 

接下来对文本进行编辑,通过按键盘上的i键或者Insert键来进入编辑模式,例如我们书写一段最基本的C语言代码

 

然后我们按键盘上的Esc键回到command模式,我们输入

 

:wq test.c

之后我们就将刚刚书写的代码保存到了test.c文件里了,如果我们已经打开了某一文件,修改完之后进入command模式后直接输入: wq就可以保存了。

 

如果我们不像保存刚刚修改的,可以在command模式下直接输入:q!,这代表不保存直接推出。会丢弃我们所有的修改。

 

如果我们在书写代码时,想像sublime那样可以将部分关键字标注上颜色,可以进入到command命令后输入:syntax on即可

 

 

如果我们想让它显示行号,我们可以在command模式下输入:set number

 

 

当我们退出之后再一次进入可以发现我们之前设置的显示行号没有了,这时我们可以通过更改vim的配置文件vimrc来实现我们的设置永久保留。

 

vim键盘操作

有的时候我们需要通过键盘的方向键來移动光标,其实vim给我们提供了很多移动光标的操作。

 

vim对光标的一些操作

键盘按键    按键作用

h    作用相当于键盘上的方向左键

j    作用相当于键盘上的方向下键

k      作用相当于键盘上的方向上键

l    作用相当于键盘上的方向右键

w    光标向后移动一个单词

b    光标向前移动一个单词

ctrl+f    向下翻一页

ctrl+b    向上翻一页

c+c    删除当前行

c+2+c    删除掉两行,以此类推,删除n行就是cnc

y+y    复制当前行

y+2+y    复制两行,以此类推,复制n行就是yny

p    粘贴

u    功能相当于ctrl+z

ctrl+n    自动补全,vim只能自动补全当前文本出现过的单词

 

快速定位

 

如果我们想要快速定位某一行的话,我们可以在command模式下输入要定位的行号再加上两个g,例如我要定位第100行,输入100gg即可。

 

如果我们想要往下或往上翻某一数量的行,我们可以输入要翻的行数加上j或k,j代表往下,k代表往上,例如我想往下翻50行,输入50j即可。

 

通过某一单词定位,我们可以在command模式下输入/要定位的单词即可,例如我要定位这个文件的hello这个词,我可以输入/hello回车即可,如果该文件含有多个定位词,我们可以通过按键盘上的n来定位下一个,可以通过按Shift+n来退到上一个定位词的位置。