在过去的几年里,我曾经使用 vim 来编辑远程服务器上的配置和脚本。几周前,我决定采取下一步行动,尝试使用 (Mac)vim 作为除了 Sublime Text 2 之外的常规编辑器。现在我想创建我的第一个插件。
我的插件将定义约 16 个全局变量,用户可以分配这些变量来调整插件的某些属性。我问自己检查用户是否已经将自己的值分配给某个变量的最优雅的方式(可能是主观的)是什么。我检查了各种其他插件,到目前为止我看到的“模式”似乎总是:
if !exists("g:pluginname_setting")
let g:pluginname_setting="default"
endif
这似乎很容易和直接。但我总是会一遍又一遍地重复同一段代码。由于 vi(m) 存在了很长时间,我很确定人们已经尝试了很多方法来编写插件,并且已经开发了某种“最佳实践”,我认为这是我上面给出的“模式”举个例子。然而,调用一个函数来填充包含所有插件设置的字典,然后遍历字典以检查键以查看用户是否已经定义了他的个人偏好,这不是更优雅吗?这是一个好主意还是我应该放弃这个想法并坚持这种ìf !exists()
方法?