让用户配置Vim插件的最佳方式

时间:2014-12-15 08:18:30

标签: vim

我需要让用户配置插件设置(例如,插件不会处理的文件类型列表)。

简单的一个选项是在.vimrc中设置一个全局变量并在插件中进行检查。

是否存在更优雅/可接受的方式,或者它是唯一的选择?

更新 我正在写这个插件:https://github.com/aserebryakov/filestyle。我不想强迫用户在ftplugin中创建大量文件,而无需为这些类型的文件配置设置。关键是只在一个地方配置它。

1 个答案:

答案 0 :(得分:3)

很难决定"最好"不知道确切的背景。你是对的,一种方式是规范的g:PluginName_ConfigVar变量。即使在那里,您也可以选择提供以逗号分隔的列表('c,cpp,html,xhtml'),真实列表(['c', 'cpp', 'html', 'xhtml'])或正则表达式('^\(c\|cpp\|x\?html\)$')。

另一种模块化方法是在设置b:NoPluginName缓冲区局部变量时禁用插件,例如在~/.vim/ftplugin/<filetype>.vim。当只有少数文件类型被排除时,这是有意义的。关于这一点的好处是虽然文件类型绑定,但它更灵活。例如,如果您只想为项目A中的HTML文件关闭插件,则可以定义:autocmd或向ftplugin添加条件以检查文件的路径,然后设置标志基于此。使用单个全局变量,这种异常将不那么优雅。