2011-04-18 26 views

cevap

38

bir tr :colorscheme kullanma: o yoksa Eckes cevap ColorScheme yük ve hata ile başa çıkmak için çalışmak olacaktı Varsa yüklemek ve başka bir şey yapmak istiyorsanız,Randy has done olarak y-catch yeterli olabilir. bölümüyle ilgilenmiyorsanız, basit bir :silent! colorscheme yeterlidir.

Aksi takdirde, globpath() yoludur. Gerçekten isterseniz, filereadable() ile iade edilen her yolu kontrol edebilirsiniz.

if filereadable(expand("$HOME/.vim/colors/railscast.vim")) 
    colorscheme railscast 
endif 

Bu, biraz daha sağlam tüm yolu kodlamak daha My yöntem benzerdir

" {rtp}/autoload/has.vim 
function! has#colorscheme(name) 
    pat = 'colors/'.a:name.'.vim' 
    return !empty(globpath(&rtp, pat)) 
endfunction 

" .vimrc 
if has#colorscheme('desert') 
    ... 
+4

: "Sessiz!" colorscheme foo 'ihtiyaçlarımı çok güzel karşılar, teşekkürler. – mat

8

Sen kontrol etmek filereadable işlevini kullanabilirsiniz: $VIMRUNTIME/colors/ altında bir kez (Unix ~/.vim/colors/ kullanmak için, Win32) ~/vimfiles/colors altında bir kez kontrol edip:

if filereadable("/path/to/schemename.vim") 
    colo schemename 
endif 
+0

Cevabınız için teşekkür ederiz! – ClosureCowboy

+0

Neye ihtiyacım vardı – eddy147

25

alternatif @ için

try 
    colorscheme mayormaynotexist 
catch /^Vim\%((\a\+)\)\=:E185/ 
    " deal with it 
endtry 
+1

Teşekkür ederim. .vimrc'de bir "try-catch" yapabileceğini bilmiyordum! – ClosureCowboy

+0

Yakalama düzenli ifade sözdizimi anlamı hakkında daha fazla bilgi verir misiniz? Anlamıyorum neden sadece ''/^ E185:/' –

+0

Örne usedgin': help catch' örne usedgini kullandim, ayni hata formati oldu assumgunu düsündüm. –

6

.

İlgili konular