我打算在 vimscript 中创建一组选项作为标志,然后我可以在运行时设置它们以更改脚本的行为。
如何创建自定义选项变量,例如 NERDTree 等其他插件似乎能够做到...
Vim 选项集(即您使用的东西:set
)是固定的。但是插件使用通常命名的变量g:PluginName_OptionName
来获得非常接近选项的东西。使用不同的变量范围(g:
, b:
, w:
),您甚至可以在 Vim 中实现类似缓冲区或窗口局部选项的功能:这意味着插件首先检查局部变量的存在,然后回退到使用全局变量如果没有本地人存在。
插件应该为其配置变量提供默认值,可以在用户的.vimrc
. 这是通过这样的测试来实现的:
if ! exists('g:PluginName_ConfigItem')
let g:PluginName_ConfigItem = 'default value'
endif
如果您计划发布您的插件,请务必记录变量以及它们可以保存的值。