vim - 检查 vim 插件中是否设置了全局插件变量的优雅方法

标签 vim plugins global-variables settings macvim

过去几年我曾经使用 vim 在远程服务器上编辑配置和脚本。几周前,我决定采取下一步,除了 Sublime Text 2 之外,尝试使用 (Mac)vim 作为我的常规编辑器。现在我想创建我的第一个插件。

我的插件将定义 ~16 个全局变量,用户可以分配这些变量以调整插件的某些属性。我问自己检查用户是否已经将自己的值分配给某个变量的最优雅的方法(可能是主观的)是什么。我检查了各种其他插件,到目前为止我看到的“模式”似乎总是:

if !exists("g:pluginname_setting")
    let g:pluginname_setting="default"
endif

这似乎很简单而且直接。但我总是会一遍又一遍地重复同一段代码。由于 vi(m) 存在了相当长的时间,我很确定人们已经尝试了很多方法来编写插件,并且已经开发了某种“最佳实践”,我认为这就是我上面给出的“模式”举个例子。尽管如此,调用一个函数来填充包含所有插件设置的字典,然后迭代字典以检查键以查看用户是否已经定义了他的个人偏好,这不是更优雅吗?这是一个好主意还是我应该放弃这个想法并坚持 ìf !exists() 方法?

最佳答案

有一种优雅的方式:

let g:pluginname_setting = get(g:, 'pluginname_setting', "default")

我很惊讶这在插件设置中没有广泛使用。

关于vim - 检查 vim 插件中是否设置了全局插件变量的优雅方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15864164/

相关文章:

jquery - 如何在 JQuery $.each 函数中编辑全局变量?

fullscreen - 全屏模式下的 gVim 7.3

vim - vim 中的全局片段

java - 如何使可变出血与这两个事件一起工作

.net - MEF 的 CompositionContainer.ComposeParts -- 加载可以解决的任何内容,并忽略错误

c++ - 头文件中的全局变量导致重新定义错误c++

javascript - 访问可变区间

vim - 证明我对 gvim 的热爱

vim - 使用 xterm 在 vi​​m 中完成文件名无法按预期工作

java - 自定义 Eclipse 透视图中的多个编辑器区域