检查vim插件中是否设置了全局插件变量的优雅方式
发布时间:2020-12-15 19:12:00 所属栏目:安全 来源:网络整理
导读:在过去几年中,我曾经使用vim来编辑远程服务器上的配置和脚本。几周前,我决定采取下一步,尝试使用(Mac)vim作为除Sublime Text 2之外的常规编辑器。现在我达到了一个要创建我的第一个插件的点。 我的插件将定义?16个全局变量,这些变量可以由用户分配,以便
在过去几年中,我曾经使用vim来编辑远程服务器上的配置和脚本。几周前,我决定采取下一步,尝试使用(Mac)vim作为除Sublime Text 2之外的常规编辑器。现在我达到了一个要创建我的第一个插件的点。
我的插件将定义?16个全局变量,这些变量可以由用户分配,以便调整插件的某些属性。我问自己什么是最优雅的方式(可能是主观的)来检查用户是否已经将自己的值分配给某个变量。我检查了各种其他插件,我看到的“模式”似乎总是: if !exists("g:pluginname_setting") let g:pluginname_setting="default" endif 这似乎是容易和直接的。但是我会一遍又一遍地重复同样的代码。由于vi(m)存在很长时间,我确信人们尝试了很多方法来编写插件,并且已经开发了某种“最佳实践”,我认为这是我给出的“模式”举个例子。然而,调用函数来填充包含所有插件设置的字典,然后遍历字典以检查键以查看用户是否已经定义了他的个人偏好,那么它不会更优雅吗?这是一个好主意,还是宁可放弃这个想法,坚持ìf!exists()方法呢?
如果存在(…)的确是典型的配置成语和要走的路。当然,你可以做一些元编程来减少重复(像函数!s:SetDefault(varname,default));一些插件做到这一点。
另一方面,除非您的插件处理一个非常复杂的问题(文本编辑器?!)中,否则您打算允许一个很好的定制效果,16个配置变量确实在高端。你必须考虑记录所有这些和测试各种组合的努力;也许最好先从简单的简化方法开始,并根据用户反馈进行演变。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |