让用户配置Vim插件的最佳方法
我需要让用户配置插件设置(例如,文件类型列表,插件不会处理) 一个简单的选项是在让用户配置Vim插件的最佳方法,vim,Vim,我需要让用户配置插件设置(例如,文件类型列表,插件不会处理) 一个简单的选项是在.vimrc中设置一个全局变量,并在插件中检查它 是否存在更优雅/可接受的方式,或者它是唯一的选择 更新: 我正在写这个插件:。我不想强迫用户在ftplugin中创建大量文件,而不需要为这些类型的文件配置设置。关键是只在一个地方配置它。如果不知道确切的上下文,很难决定“最佳”。没错,一种方法是规范的g:PluginName\u ConfigVar变量。即使在那里,您也可以提供逗号分隔的列表('c,cpp,html,x
.vimrc
中设置一个全局变量,并在插件中检查它
是否存在更优雅/可接受的方式,或者它是唯一的选择
更新:
我正在写这个插件:。我不想强迫用户在ftplugin
中创建大量文件,而不需要为这些类型的文件配置设置。关键是只在一个地方配置它。如果不知道确切的上下文,很难决定“最佳”。没错,一种方法是规范的g:PluginName\u ConfigVar
变量。即使在那里,您也可以提供逗号分隔的列表('c,cpp,html,xhtml'
)、实列表(['c','cpp','html','xhtml']
)或正则表达式('^(c\'cpp\'x\'html\')$)
)
另一种模块化方法是在设置了
b:NoPluginName
缓冲区局部变量时禁用插件,例如在~/.vim/ftplugin/.vim
中。当只有少数文件类型例外时,这是有意义的。这样做的好处是,虽然文件类型是绑定的,但它更灵活。例如,如果只想关闭项目A中HTML文件的插件,可以定义一个:autocmd
,或向ftplugin添加一个条件以检查文件的路径,然后根据该条件设置标志。如果使用单个全局变量,这种例外就不那么优雅了。感谢您提供了更多背景信息。我有一个类似的插件,并决定提取到一个单独的插件启动部分。一般来说,我不建议这样做,但对于这个特定的功能,它是有意义的。如果用户想要更改默认设置,应该在~/.vimrc
中或插件源代码之前的任何地方重新定义g:indentconsistencycop\u文件类型。请参阅,此插件插件插件实现了适用于90%用户的基本情况。其余的人可以不使用附加组件,而是围绕主插件构建他们的特定基础设施。