vi编辑器可以很好的完成一些我们要做的一些重复性的工作。例如我们可以在vi中设置缩写,这样当我们在输入一个单词时只需输入其中的一部分,而要vi来完其余的部分。当然了,我们可以将我们喜欢的一些设置写入vi的配置文件,这样就不要我们每一次都要通过命令来完成了。除了这个功能以外,我们还可以在vi中定义我们自己的功能按键,而不会影响到系统中的功能键。这样的功能是不是很有趣呢?
我们可以在vi中用一个缩写的字符来代替一个单词,然后在我们想要输入这个单词时只要输入这个缩写的字符就可输入我们想要的单词了。我们如何来做到这些呢?这时我们要用到的vi命令是:abbreviate.例如我们可以用ad来vi编辑器可以很好的完成一些我们要做的一些重复性的工作。例如我们可以在vi中设置缩写,这样当我们在输入一个单词时只需输入其中的一部分,而要vi来完其余的部分。当然了,我们可以将我们喜欢的一些设置写入vi的配置文件,这样就不要我们每一次都要通过命令来完成了。除了这个功能以外,我们还可以在vi中定义我们自己的功能按键,而不会影响到系统中的功能键。这样的功能是不是很有趣呢?
我们可以在vi中用一个缩写的字符来代替一个单词,然后在我们想要输入这个单词时只要输入这个缩写的字符就可输入我们想要的单词了。我们如何来做到这些呢?这时我们要用到的vi命令是:abbreviate.例如我们可以用ad来代替advertisement。这样我们在想输入advertisement的时候只要输入ad然后打一下空格或是tab就可以输入advertisement了。具体的做法是这样的:
:abbreviate ad advertisement 这个命令就是在告诉vi我们设置advertisement的缩写为ad,这样我们在要输入advertisement的时候只要输入ad就可了,剩下的工作vi会为我们完成的。当然了这个命令也可以为多个单词设置缩写。例如我们可以设置Jack Berry的缩写为JB。命令为::abbreviate JB Jack Berry 这样我们在输入了JB以后打下空格或是Tab,vi就会自动的用我们设置的单词来替换JB。对于程序员来说这样命令为我们提供了巨大的便利。例如我们可以做出这样的设置:
:abbreviate #b /*************************
:abbreviate #e <space>**********************/
这个缩写可以在加快我们添加注释的速度。我们在编写程序文件时常有这样的习惯,那就是在程序的开头总是要加上一个注释块,来标明我们此程序的目的等。在这个缩写中有一点要我们注意的地方,那就是我们希望在写程序的注释块时下一行要和上一行对齐,要做到这一点就要求第二行的注释开头的两个字母要是空格,但是在这个缩写命令中会忽略到空格的作用,因而我们在写这个缩写时在开头写上<space>,这样就会满足我们的要求了。也许有时我们会在一个文件中设置了多个缩写,我们可以命令:abbreviate来列出我们这个文件中所有的缩写的设置。
另一个比较有趣和强大的命令就是:map命令,这个命令可以使得我们将键盘上的一个按键与vi中的命令绑定在一起。例如我们现在将一个单词用花括号括起来,例如我们要将amount变成{amount}的形式,这时我们就可以这样的来应用这个命令:
:map <F5> i{<Esc>ea}<Esc>
在这个命令中:map是vi中的命令,而F5则是说将下面的命令与F5键绑定,后面的则是具体的命令内容,i{<Esc>是说插入字符{,然后退回到命令状态。e是移到单词的结尾处,a}<Esc>则是增加字符}然后退至命令状态。
在我们做过这样的工作以后我们就可以来执行我们的命令了,我们将光标定位在一个单词上,例如amount,按下F5键,我们就会发现这时就变成了{amount}的形式。
在这里我们要注意的一点就是我们最好不要将在vi中有特殊命令的功能热键与某些命令进行绑定,如果是这样的话就会给我们带来麻烦。
同上面的:abbreviate命令相类似,我们也可以用命令:map来列出在这个文件中所有的功能键,包括我们自己定义的以及系统定义的。
我们在做过这样的设置以后,有时希望这样的设置在下一次使用时会继续有效,这时我们就要用命令:mkvimrc将我们所做的这些设置写入文件中。这个命令的格式如下:
:mkvimrc file
在这里file就是我们要将这些设置写入的文件名。我们可以用命令:source file来读出文件并执行文件中的内容。
在vi的启动过程中,vi会首先查找初始化文件。如果找到就会自动执行文件的内容。而这些初始化文件一般来说是这样的一些文件:
$HOME/.vimrc
$HOME/_vimrc
$HOME/.exrc
$HOME/_exrc
而在Windows和Dos系统中则是这样的一些文件:
$HOME/_vimrc
$HOME/.vimrc
$VIM/_vimrc
$VIM/.vimrc
$HOME/_exrc
$HOME/.exrc
$VIM/_exrc
$VIM/.exrc
而如果我们用一些图形界面的话,那么还会读一些其他的配置文件。如果我们要执行gvim那么$VIMRUNTIME/menu.vim也会被读进来。用命令:version我们可得到这些配置文件的信息。
例如我们可以在.vimrc中写入以下的一些语句:
:syntax on
打开语法加亮功能
:set shiftwidth=4
设置缩进宽度为4
:ab #d #define
将#define缩写为#d
:ab #b /************************
:ab #e <space>*********************/
我们还可以加入一些其他的东西,这样就可大的方便我们的工作了。而这也正是vi的强大之处 。