Soru Şu anda bir Vim oturumunun hangi colorscheme kullandığını nasıl söylerim


Yapabilirsin set Vim renk düzeni

:colorscheme SCHEME_NAME

ama, garip bir şekilde, şu anda kullanılan düzeni düzenleyerek elde edemezsiniz

:colorscheme

sonuç olarak "E471: Argument required"Ayrıca çıktıda listelenen renk şemasını göremiyorum. :set.

Öyleyse, kullanımdaki mevcut renk şemasını bulmaktan nasıl geçiyorsunuz (bunu fark edene kadar temaları manuel olarak değiştirmek dışında)?


88
2018-03-10 18:48


Menşei




Cevaplar:


Hiçbir şekilde garanti edilen bir yol yoktur (bir renk şeması esas olarak, kullanılan vim komutlarının bir yüküdür). Ancak, sözleşmeye göre bir değişken olmalı g:colors_name Bu renk düzeninin adı ayarlanır.

Bu nedenle, şunu deneyin:

echo g:colors_name

E121 alırsanız, ya çok iyi yapılmış bir renk şeması ya da varsayılan olanıdır.

Bunu yapmanın daha parlak bir yolu (vim'in son sürümleri için):

function! ShowColourSchemeName()
    try
        echo g:colors_name
    catch /^Vim:E121/
        echo "default
    endtry
endfunction

Sonra yap:

:call ShowColourSchemeName()

"Varsayılan" diyorsa :colorscheme default ve renklerin değişip değişmediğine bakın. Bunu yaparlarsa, hatalı biçimlendirilmiş bir renk düzeni kullanıyorsunuz ve bunu fark edinceye kadar el ile temaları değiştirmeden başka bir şey yapamazsınız.

Değişken g:colors_name belgelenmiş İşte:

:help colorscheme

129
2018-03-10 19:00



Fantastik, eksiksiz cevap. Keşke iki kere oy verebilirdim. Teşekkürler. - gotgenes
Sonra kapanış çift tırnak mı "default eksik? - Benjamin W.


En iyi seçenek kullanmaktır :colo veya :colorscheme Mevcut vim ve gerçek colorscheme metni gösterilir. Bakınız,

:help colorscheme 

daha fazla ayrıntı için.


32
2017-08-28 13:47



Bana işe yaramıyor. Diyor ki default. Ve çalıştırdığımda aldığım renk şeması :colo default başka bir tane. - daVe


DrAl'ın cevabının tek satırlık sürümü:

let current_scheme = get(g:, 'colors_name', 'default')

get() işlev geri düşecek 'default' Eğer değişken henüz ayarlanmamışsa.


0
2017-12-11 08:40