我可以创建自己的选项变量吗?



我打算在 vimscript 中创建一组选项作为标志,然后我可以在运行时设置这些选项来更改脚本的行为。

我如何创建自定义选项变量,例如 NERDTree 等其他插件似乎能够做到这一点......

Vim 选项集(即你用 :set 操作的东西)是固定的。但是插件使用变量(通常命名为 g:PluginName_OptionName 左右)来获得非常接近选项的内容。使用不同的变量作用域(g:b:w:),你甚至可以在 Vim 中实现类似缓冲区或窗口局部选项的东西: 这意味着插件首先检查局部变量是否存在,如果没有局部变量存在,则回退到使用全局变量。

插件应为其配置变量提供默认值,这些默认值可以在用户的.vimrc中覆盖。这是通过这样的测试实现的:

if ! exists('g:PluginName_ConfigItem')
    let g:PluginName_ConfigItem = 'default value'
endif

如果您计划发布插件,请务必记录变量以及它们可以保存的值。

最新更新