如果你阅读到这里了,并且完成了所有的示例和练习,你现在应该对Vimscript的基础知识有了很好的了解。别担心,还有很多东西需要学习!
在这本书里,我们给Potion文件加上了语法高亮。另外一个方面是定义自己的颜色主题,对于不同的元素定义不同的颜色。
颜色主题在Vim里如果要实现的话,还是是比较简单的,有点重复的。阅读:help highlight
来学习一些基础内容。你可以看看一些内置的颜色主题,看看它们的文件结构是如何组织的。
如果你想挑战的话,你可以看看我自己的Bad Wolf的颜色主题,看看我是怎么使用Vimscript来让定义更加易于我自己进行维护的。注意里面的palette
词典以及里面动态生成highlight
命令的的HL
函数。
很多插件运行用户通过按键映射以及函数调用来进行交换,但是也有些喜欢创建Ex命令。例如,Fugitive插件创建类似:Gbrowse
以及:Gdiff
并且让用户来决定调用哪个。
类似这样的命令都是通过:comman
命令创建的。阅读:help user-commands
来学习如何创建你自己的命令。你现在已经了解了足够多的关于Vimscript的只是,阅读Vim的文档已经可以让你自己学习新的命令了。
在这本书里面,我对于Vim是如何决定加载那个文件只是简单地说了“使用Pathogen来管理”。现在你已经对Vimscript比较了解了,你可以阅读:help runtimepath
,同时阅读Pathogen的源码来了解究竟是如何实现的。
Vim提供了多种不同的补全文本的方式(阅读:help ins-completion
来进行了解)。大部分都是很简单地,其中最强大的是全方位补全
,它可以让你调用一个自定义的Vimscript函数,来实现所有你想要进行补全的方法来进行补全。
如果你准备好了,要深入了解全方位补全这个兔子洞的内容的花,你可以开始阅读:help ominifunc
以及:help coml-omni
的内容,然后沿着里面的小路跟进去。
在我们的Potion插件里,我们创建了一些映射来编译和运行我们的Potion代码。Vim对于和编译器交互提供了更加深入的支持,包含解析编译错误,还提供了一个很好的能让你跳转到具体错误行的列表。
如果你对这个很感兴趣,你可以通过阅读:help quickfix.txt
来深入了解。不过,我会警告你,你脆弱的心脏可能受不了errorformat
的折磨!
这本书主要是关于Vimscript的,但是Vim也提供了一些其他语言的借款,例如Python,Ruby,以及Lua。也就是说,如果你不喜欢Vimscript的话,你也可以是用其他的语言。
但是了解Vimscript对于编辑你的~/.vimrc
文件是有帮助的,同时它也能帮助你理解Vim提供给其他语言的API。但是使用其他的语言,可以帮你摆脱一些Vimscript中让人讨厌的东西,特别是对于大型插件而言。
如果你想了解使用某个语言来操作Vim,你可以阅读它们的文档:
:help Python
:help Ruby
:help Lua
:help perl-using
:help MzScheme
作为最后一部分内容,下面有一个Vim帮助的列表,这里有一些非常有帮助的,有很多有用信息的,有趣的或者仅供娱乐的(没有按照任何顺序排列):
:help various-motions
:help sign-support
:help virtualedit
:help map-alt-keys
:help error-messages
:help development
:help tips
:help 24.8
:help 24.9
:help usr_12.txt
:help usr_26.txt
:help usr_32.txt
:help usr_42.txt
写一个你一直想做的插件,然后分享给整个世界!