Vim ve macun ile renk şemalarını kullanma


16

Burada bulunan CentOS 5.6 x64 üzerinde VIM 7.0 ile çöl renk şemasını kullanmaya çalışıyorum:

http://hans.fugal.net/vim/colors/desert.vim

Dosyayı indirdim ve dizinime kaydettim ~/.vim/colors. Daha sonra VIM'e şunu söyleyerek renk şemasını kullanmasını söylüyorum:

:colors desert

Bunun gibi görünmesi gerekiyordu:

resim açıklamasını buraya girin

Ancak bu olsun:

resim açıklamasını buraya girin

Bu sunucuya PuTTY 0.60 kullanarak normal bir kullanıcı (değil rootveya sudo) olarak giriş yapıyorum ve aşağıdaki seçenekleri ayarladım Window -> Colours:

Terminalin ANSI renklerini belirtmesine izin ver - işaretli
Terminalin 256 renk modunu kullanmasına izin ver - işaretli
Kalın yazılmış test farklı bir renkte - işaretli
Mantıksal paletleri kullanma girişimi - işaretsiz
Sistem renklerini kullan - işaretlenmemiş

Ben sudoveya oturum rootaçıp aynı denerseniz, siyah bir arka plan üzerinde beyaz metin dışında hiçbir renk elde edemiyorum.

Bu şemalar çoğunlukla gVIM'i mi hedefliyor ve PuTTY bu renkleri gösteremiyor mu?

Ben biraz google'd ve bunun gibi makalelere çarptı ama işe yaramaz gibi görünüyor.

Yanıtlar:


23

Varsayılan olarak, PuTTY kendini sunar xterm. Terminfo'ya terminali yeteneklerini belirlemek için çeşitli programlar tarafından kullanılan veritabanı, diyor xtermdestekleri sekiz renkler yalnızca:

$ infocmp -1L xterm | grep max_colors

Xterm sürümünüz bile bu araçlar yapar destek 256 renk modunu, programlar bundan haberi olmayacak.

  • En kolay düzeltme $ TERM ortam değişkeninizi olarak ayarlamaktır xterm-256color.

    (Senin ~ / .profile, kullanmak olabilir:
    if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi)

  • Sen hiç PuTTY söyleyebilir hep olduğu gibi kendini tanımlamak xterm-256coloryoluyla, Veri → Terminali tipi dize → Yapılandırma → Bağlantı .

    Not: 1. veya 2., kullanmak ve olmayan bir sunucuya bağlanmak Eğer sahip girişi terminfo'ya apropriate, tüm TUI programları kıracak.

  • Vim'de, terminfo değerini geçersiz kılma 't_Co'seçeneğini de ayarlayabilirsiniz 256.

    if &term == "xterm"
        set t_Co=256
    endif
    
  • Veya terminfo veritabanını düzenleyebilirsiniz .

    $ infocmp -L -1 xterm | sed -r 's/(max_colors)#[0-9]+/\1#256/' > /tmp/xterm
    $ tic /tmp/xterm
    

    Güncellenen giriş saklanacaktır ~/.terminfo.


Mükemmel cevap. Daha iyi, ama bu pastel tonları oluşturmak için 256 rengin yeterli olmadığını hissediyorum. Olarak giriş yaptığımda neden hiç renk almıyorum root?
Kev

1
@Kev: 1) 256 renk modu, VT100 uyumlu bir terminal emülatöründe alabileceğiniz en iyisidir. (KDE Konsole'un gerçek renk desteğine sahip olduğunu duydum, ancak standart dışı.) 2) Kök olarak oturum açtığınızda, ayrı bir giriş dizini ve ayrı bir dizin elde edersiniz ~/.vim/colors.
user1686 14:11

1
@Kev: Çünkü vi yok renk şemaları veya sözdizimi vurgulama - Orijinal temel özellikleri dışında ya da bir şey. (Vim olan sonuçta "Vi Geliştirilmiş".)
user1686

1
vi --versiondiyor ki vim, yani vi gibi görünmesini sağlamak için geri kesilmiş bir vim mi? Maalesef bu bir soru ise, öfke içinde unix (seri portlu SCO Unix kutuları) ile çalıştığımdan beri yıllar geçti ve sadece vi (gerçek vi) vardı.
Kev

1
Bir çeşit. Vim'i " vi" olarak çalıştırdığınızda , "uyumluluk" modunda başlar ve vi gibi olabildiğince davranır. CentOS'u bilmiyorum, bu yüzden sadece bir mod mu yoksa tamamen ayrı bir kesilmiş yapı mı olduğundan emin değilim. (Benim dağıtım yerine gerçek vi paketleri ...)
user1686
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.