早以前就听说过vim的大名,说它是编程人员的神器,但是试用过几次之后,实在没发现它有什么神奇的地方,就删了。

开始学php之后,老师要求大家使用vim为将来学习linux下编辑文件做准备。

上课的时候,老师输入html,然后按了个tab键,结果就能出来一堆东西,他把这称之为快插。我感到很神奇,恰好旁边的一个同学有这个插件,给了我一份。当时也不知道这玩意这叫什么,就知道把它解压了就能用了,使用也仅限于html、head、body这几个标签。

后来我逐步发现其它的标签也可以使用快插,但是插出来了结果有时不是我想要的,快插还不如手打的效果好。而且我还发现,老师的插件在php文件里还可以对html标签快插,而我的必须把语法改成html才可以。

于是我开始研究这个插件的配置文件,终于顿悟了。

在vimfiles下的snippets下有针对各种语言的快插模板,通过观察,我弄清楚了它的语法结构snippet 缩写 全写形式

而且还可以通过{$n:default}的形式添加变量,如此快插之后光标会自动跑到{$1}处,输完后按tab键到{$2}处,以此类推。加上’:value’表示该变量的默认值。

例如

1
2
3
4
5
snippet  if
if({$1})
{
    {$2}
}

搞清楚语法结构之后,我将插件默认的规则进行了修改,添加了对诸如全局变量的支持,使之更加快捷。我还将html的规则复制到了php规则里,这样,即使是在php文件里也可以实现对html代码的快插。

在我顿悟之后,代码铺写速度提升不少,我也更加体会到vim不愧‘神器’之名。