在.vimrc
中,只有存在色彩方案纔有可能加載顏色方案?在我的.vimrc中,如何檢查配色方案的存在?
回答
在TR使用:colorscheme
y-catch as Randy has done可能就足夠了,如果你只是想要加載它,如果它存在和做其他事情。如果您對其他部件不感興趣,則簡單的:silent! colorscheme
就足夠了。
否則,globpath()
是要走的路。如果您真的希望的話,您可以檢查與filereadable()
一起返回的每條路徑。
" {rtp}/autoload/has.vim
function! has#colorscheme(name)
pat = 'colors/'.a:name.'.vim'
return !empty(globpath(&rtp, pat))
endfunction
" .vimrc
if has#colorscheme('desert')
...
您可以使用filereadable
功能檢查,如果一個配色方案(如schemename
)存在:~/vimfiles/colors
下檢查一次(Win32的,對於Unix使用~/.vim/colors/
),一旦$VIMRUNTIME/colors/
下:
if filereadable("/path/to/schemename.vim")
colo schemename
endif
謝謝你的回答! – ClosureCowboy 2011-04-19 04:28:29
Exactlt我需要 – eddy147 2012-07-27 06:47:49
的替代@ eckes答案將嘗試加載色彩方案和處理錯誤,如果它不存在:
try
colorscheme mayormaynotexist
catch /^Vim\%((\a\+)\)\=:E185/
" deal with it
endtry
謝謝。我不知道你可以在.vimrc中執行'try-catch'! – ClosureCowboy 2011-04-19 04:28:58
您能解釋更多關於catch正則表達式語法的含義嗎?我不明白爲什麼不僅僅是'/^E185:/' – 2017-02-02 01:28:04
我簡單地使用了':help catch'中的例子,因爲我認爲它將是確切的錯誤格式。 – 2017-02-02 11:35:34
我的方法是類似的,
if filereadable(expand("$HOME/.vim/colors/railscast.vim"))
colorscheme railscast
endif
這比硬編碼的整個路徑多了幾分穩健。
- 1. 我如何能在配色方案「VIM」
- 2. 如何在Visual Studio中將我的VIM配色方案設置爲相同的默認配色方案?
- 3. 你可以在vimrc中從vim中移除默認配色方案嗎?
- 4. vim中的配色方案
- 5. 配色方案在ggplot2 facet_wrap
- 6. 如何改變ggvis的配色方案?
- 7. 如何在vi中改變不同的配色方案?
- 8. 如何在OS X的終端中激活Vim配色方案?
- 9. 如何更改我的iPhone GUI的配色方案?
- 10. 如何在我的.vimrc中檢測「&t_Co」是否被「定義」?
- 11. Netbeans的配色方案
- 12. 的Vim solarized配色方案
- 13. 如何檢查蓮花配方中是否存在文件?
- 14. 配色方案文件是否緩存?
- 15. PDT的深色配色方案
- 16. 如何定義配色方案選項?
- 17. 如何模仿Dabble配色方案?
- 18. Haskell中的配色方案 - 圖表
- 19. 火花網UI中的配色方案
- 20. 我如何檢查在gdb中存儲在-0x14(%ebp)中的值?
- 21. 什麼是檢查網站配色方案的好網站例如
- 22. 如何檢查方法存在或不存在於freemarker中?
- 23. 有沒有簡單的方法在Eclipse中導入黑白色配色方案
- 24. 如何獲得Liferay中的配色方案
- 25. 如何檢查XSLT中存在的值
- 26. LinqToXML,當Node不存在時中斷。我如何檢查存在?
- 27. 如何在開局的vimrc
- 28. 在android中自定義谷歌地圖V2的配色方案
- 29. 在Rad Studio中添加一個新的配色方案
- 30. Netbeans配色方案設置
去':沉默! colorscheme foo'非常適合我的需求,謝謝。 – mat 2012-11-29 16:46:08