本地缓冲缩写

上一章节简直是个怪物,所以让我们应对一些更简单的。 我们已经学习过了如何定义本地缓冲映射和配置,所以让我们把这相同的思想应用到缩写上。

再次打开 foobar 文件,切换到 foo,然后运行以下命令:

:iabbrev <buffer> --- &mdash;

当仍然在 foo 时,进入插入模式,然后键入以下文本:

Hello --- world.

Vim 会帮你替换掉 ---。现在切换到 bar然后再试试。 不出意外的话,它并不会被替换掉,因为我们只是在 foo 的本地缓冲中定义了缩写。

自动命令和缩写

让我们把本地缓冲缩写和自动命令结合起来进行设置,使我们拥有一个小型“代码片段”系统。

运行以下命令:

:autocmd FileType python     :iabbrev <buffer> iff if:<left>
:autocmd FileType javascript :iabbrev <buffer> iff if ()<left>

打开一个 Javascript 文件,然后试试这个 iff 缩写。 然后打开一个 Python 文件,也试试看。Vim 会根据当前文件的类型执行适当的缩写。

练习

为你在特定类型的文件中经常输入的内容,再创建一些“代码片段”的缩写。 大部分语言的 return,javascript 的 function,以及HTML文件的 &ldquo;&rduo;,都是些不错的选择。

把这些代码片段添加到你的 ~/.vimrc 文件中。

记住:学习这些新代码片段最好的方式就是禁用老办法。 运行 :iabbrev <buffer> return NOPENOPENOPE强制你使用缩写来替代。 添加这些“训练用的”代码片段来匹配所有之前创建的内容来节省时间。

原文地址:http://learnvimscriptthehardway.stevelosh.com/chapters/13.html