转自:http://wenliang.wordpress.com/2006/07/28/plug_sid/
vim中的plugin还是比较好写的,就和平时输入的命令类似。但是其中的<plug>和<SID>比较难搞,我对着手册看了一遍一遍又一遍,就是搞不懂。最后还是做了几个小实验才弄清楚。以下本节中script均表示plugin。
-
<SID> 只在本script中有效,对于不同的script, <SID>是不同的值。
-
<plug> 是全局有效,一般使用方法 <plug>ScriptnameFunction .执行后,<plug>会替换成某些键盘敲不出的字符,对于不同的script来说,<plug>都是一样的。它的作用是用来区别其他变量。
-
<plug>ScriptnameFunction 是手册给出的命名方法,这样可以确保不会重复。其实如果能够确保不重复的话,可以用任意的字符串。但是既然写plugin, 就应该是发布到网上的,还是规规矩矩用这个命名方式好了。
-
综上所述, 映射快捷键到 <plug>ScriptnameFunction 可以在script内或者外部都可以。但是需要保证在本script内映射 <plug>ScriptnameFunction 到 <SID>function,以及其他涉及<SID>的映射。