4
A
回答
7
你在写插件吗?
您的插件很可能会在您的用户的~/.vimrc
之后执行:您在此之前无法做任何事情。
你可以忘掉至~/.vimrc
执行做之前任何事情,在你的脚本使用条件:
if !exists("g:pluginname_optionname")
let g:pluginname_optionname = default_value
endif
或者你可以使用一个自动加载脚本(:h autoload
),并要求用户把类似的请在~/.vimrc
之前进行任何定制:
call file_name#function_name()
使用该函数执行所有初始化操作。
3
如果加载插件时该变量不存在,您的插件应只设置默认值。您可以使用exists()
函数来检查它。
例如,在你的插件脚本顶部:
if !exists("g:MyPluginVariable")
let g:MyPluginVariable = default_value
endif
现在,如果g:MyPluginVariable
在vimrc的设置,也不会被你的插件重新定义。
2
也有get()
办法,利用您可以访问全球范围内g:
作为Dictionary
:
let g:pluginname#optionname = get(g:, 'pluginname#optionname', default_value)
的get()
查询g:
范围为Dictionary
的关键pluginname#optionname
并且将返回default_value
如果它在那里找不到钥匙。 let
声明重新分配了它的相同值或default_value
。
好处是,如果您在插件中使用了大量具有默认值的变量,则它更短。
相关问题
- 1. intelliJ的默认JavaScript插件在哪里?
- 2. AngularJS - 在哪里放置第三方插件的默认值?
- 3. 在C++中把默认参数值放在哪里?
- 4. 在哪里存储默认值asp.net
- 5. Maven pdf插件:在哪里把userconfig.xml
- 6. 哪里把“插件”在Linux中
- 7. 默认collectd pluggindir在哪里?
- 8. spring security core插件的默认登录页面在哪里?
- 9. 默认清单文件放在哪里?
- 10. logstash的默认变量值
- 11. Yaml:变量的默认值
- 12. 变量在哪里条件
- 13. 在哪里把默认销毁在jQuery UI 1.8.1小部件的销毁功能
- 14. vim:默认禁用插件(diffchar)
- 15. 将Windows Phone 8中的默认值文件放在哪里?
- 16. 哪里是Qt Designer的默认控件
- 17. 把认证信息放在哪里
- 18. 哪里是默认的Eclipse插件开发模板?
- 19. Java默认变量值
- 20. 哪里可以找到PyQt默认局部变量列表?
- 21. 默认的Gem.dir路径集在哪里?
- 22. 默认的scalaVersion sbt在哪里使用?
- 23. MAC的R默认路径在哪里
- 24. 默认的outputcache类在哪里?
- 25. Vim以默认值关闭文件
- 26. 你在哪里把datepicker的值
- 27. jQuery插件默认值
- 28. Matplotlib的默认默认位置在哪里?
- 29. 把默认值<INPUT TYPE =文件....>
- 30. 笨在哪里把
Oooooooh,我们甚至选择了相同的'default_value'! – romainl 2013-03-09 10:03:49
伟大的思想.... – 2013-03-09 10:04:37