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