Kendi renk şemasını nasıl oluşturabilirim?


16

Hangi dosyaları oluşturmam gerekiyor? Bu dosyaların içinde ne olmalı? Kullanabileceğim ve renk değerlerini buna göre değiştirebileceğim bir yerde varsayılan colorscheme dosyası var mı?

Yanıtlar:


15

Colorscheme konumları

İlk olarak, Vim çalışma zamanı klasörlerinde bir colorsdizin arar . İşte tüm renk kimyasallarının depolanması gereken yer ( :help 'runtimepath')

Bu, ~/.vim/colorsklasörde yaşayan bir dosyaya ihtiyacınız olacağı anlamına gelir . Standart colorschemes bulunan $VIMRUNTIME/colors, nerede $VIMRUNTIMEgenellikle /usr/share/vim/vim74ya /usr/local/share/vim/vim74dizinleri Vim (Vim sürümü 7.3 için vim73 için yedek vim74) yüklü şekline bağlı olarak

Şimdi eğlenceli kısma geçelim.

Bir renk şeması oluşturma

Kendi renk şemanızı oluşturmaya başlamak için, varsayılan renk kimyasallarına bir göz atmanızı ve bunları değiştirmeyi denemenizi şiddetle tavsiye ederim.

Bu nedenle, varsayılan renkler düzenini $VIMRUNTIME/colorsklasörden ~/.vim/colorsklasörünüze kopyalayın. Kendisini varsayılan renk şeması adından ayıran bir şey olarak adlandırın. Bu nedenle desert, Vim ile birlikte gelen colorscheme öğesini varsayılan olarak kopyaladıysanız, dosyayı default_mod.vimbu efekt olarak adlandırın. Colorscheme dosyasını açın ve let g:colors_namekendisini varsayılan colorscheme dosyasından ayırt etmek için değiştirin . Kural olarak, bu colorscheme dosya adıyla aynı olmalıdır.

Renk ş olarak, yapmanız gereken tek şey için renkleri vermek ctermbg, ctermfg, guibg, guifgvurgulamak gruplarında inşa farklı için (terminal arka terminal ön plan, grafik kullanıcı arabirimi arka sırasıyla gui ön plan renkleri için). Değiştirebileceğiniz vurgulama gruplarının listesine göz atın :help highlight-default. İsteğe bağlı olarak, bir vurgu grubunun kalın veya italik olmasını istediğinizi belirtmek için ctermve guiniteliklerini de kullanabilirsiniz .

Örneğin, bu bir String için yeşil bir renk ayarlar:

highlight String ctermbg=NONE ctermfg=107 guibg=NONE guifg=#95B47B

Bir vurgu grubunu başka bir gruba bağlamak için vurgu bağlantılarını da kullanabilirsiniz. İki vurgu grubunun aynı renk olmasını istiyorsanız bu yararlıdır.

Örneğin, diffAddedvurgu grubunu yukarıda tanımlanan Dize vurgu grubuna bağlayabilirsiniz :

highlight link diffAdded String


Colorscheme.vim dosyalarından birini kopyalayıp ayrı bir klasöre koyarsam diğer bilgisayarlarımda yeniden kullanabilir miyim? Github üzerine bir repo koyarsam, sadece klonlayabilir veya eklenti yöneticilerinden birinde etkinleştirebilir miyim?
dkns

@dkns, Evet, kesinlikle. Örneğin, colorcheme öğenizi "dkns_colorscheme.vim" olarak adlandırabilir, bir colors / dizine koyabilir ve sonra Github'a kadar itebilirsiniz. Yüklü bir eklenti yöneticiniz varsa, bu repoyu klonlamak, renk düzenini Vim için kullanılabilir hale getirir.
akshay

Başka bir soru. Burada bir yorum olarak göndermek veya başka bir genel soru sormak gerekir emin değilim. Cterm için renk değerlerini nasıl bulabilirim? Bu temanın gui ve terminalde aynı görünmesini istiyorum, ancak hex değerlerini cterm değerlerine nasıl dönüştüreceğimizi bilmiyorum.
dkns

1
@dkns Terminal renkleri büyük ölçüde terminal öykünücüsünde kullanılan renk paletine bağlı olduğundan, bunu yapmak oldukça zordur. Renk şememi oluştururken, 256 rengin her birinin nasıl göründüğünü göstermeyi yararlı buldum. Kullandığım bu benim bin klasöründe küçük senaryoyu. Aynı gui ve cterm renklerini sağlamak için renkleri seçmek için bir renk seçici kullanabilirsiniz. Gui vim'de daha fazla renk olduğu için cterm-> gui'den başka bir yoldan gitmem. Umarım yardımcı olur.
akshay


0

Bunu otomatik yapmak için bazı araçlar vardır:

  • vivify : oldukça karmaşık, her bir vurgu grubu için her rengi manuel olarak seçmelisiniz.
  • vimcolors.org : çok basit ve kolay. Sadece bazı renkler seçin ve otomatik olarak düzeni sizin için oluşturacaktır.

0

Başka harika bir araçtır RNB kullanan romainl tarafından ERB . ERB (Gömülü RuBy), Ruby'nin şablonlardan bazı metinler oluşturmanıza olanak tanıyan bir özelliğidir.

Yani bu aracın kullanımı oldukça basittir: İlk önce renk şemanızın isimlendirmesine ve elbette gerçek içeriğine (renklerin nasıl görünmesi, hangi grupları kullanmak istediğiniz vb.) Karşılık gelen farklı değişkenler tanımlamanız gerekir. oldukça basit çünkü yazar size yardımcı olmak için çok sayıda yorum yazdı. Sonra tek yapmanız gereken özelleştirilmiş şablonunuzu erb'ye vermek ve araç doğru dosyaları üretecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.