Vim, ekranın içindeyken çizgilerin sonunu renklendirmiyor


4

Vnu gnu ekranının içinde başlatıldığında, metinden sonra arka planı renklendirmez.

Beyaz arkaplan

Ekran 256 rengi doğru kullanmak için ayarlanmış gibi görünüyor:

$ screen
$ tput colors
256
$ echo $term
xterm-256colors

OS ve Shell kullanıyorum:

$ cat /etc/redhat-release 
Red Hat Enterprise Linux WS release 4 (Nahant Update 9)
$echo $shell
/bin/tcsh

Renk testi, çizgilerin sonu dışında iyi çalışıyor gibi görünüyor:

:runtime syntax/colortest.vim
:source %

ekran içinde vim renk testi

Ve ekranı kullanmadığınızda:

vim renk testi

Kontrol etmem gereken başka ayarlar var mı, renklerin doğru şekilde yeniden çizilmesine izin vermek için zorlayabileceğim bir ekran modu var mı?

Yanıtlar:


2

Kısmen dayalı: tmux ve ekran-256-terim-desteklenmiyor .

Sorun bir 'ekran' terimi kullanırken kendini çözer. Doğru 256 renk olarak tanımlamak için 'ekran-256 renk' olmalıdır. Hangi hataya yol açar:

E558: Terminal entry not found in terminfo
'screen-256colors' not known. Available builtin terminals are:
    builtin_gui
    builtin_ansi
    builtin_xterm
    builtin_iris-ansi
    builtin_d

Bir ekran-256 renk girişi oluşturmak için:

infocmp screen > screen-256color.ti

Değiştirme (ekran-256color.ti)

#       Reconstructed via infocmp from file: /usr/share/terminfo/s/screen
screen|VT 100/ANSI X3.64 virtual terminal, 
        am, km, mir, msgr, xenl, 
        colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,

için:

#       Reconstructed via infocmp from file: /usr/share/terminfo/s/screen
screen-256color|VT 100/ANSI X3.64 virtual terminal, 
        am, km, mir, msgr, xenl, 
        colors#256, cols#80, it#8, lines#24, ncv#3, pairs#64,

Şimdi terminfoyu oluşturun:

tic screen-256color.ti

1

İçinde screenya tmux, değeri $TERMihtiyaçları ile başlayacak screen(örneğin screen, screen-256color) diğerlerinden ziyade xterm.

Mevcut sorun bce, iki terminalin (arka plan rengini silme) kabiliyetindeki fark nedeniyle ortaya çıkmaktadır .

TERM=screen*Açıklamaları bu bayrağı içermez ve buna göre de screenya tmuxbir çıkış sırası "Satır sonuna kadar imlecin açıkça" boyalar terminalin varsayılan arka plan rengiyle söyledi.

Öte yandan, TERM=xterm*açıklamalar bu bayrağını içerir ve buna xtermbağlı olarak halihazırda aktif olan arka plan rengini kullanarak silinir.

Sizin durumunuzda, vimterminalin bcebayrağı (nedeniyle TERM=xterm*) yanlış olduğunu ve bu nedenle, doğrudan xterm altında doğru görünen, ancak screen/ altında yanlış görünen, etkin olan arka plan rengini doldurmak için kestirme işlemi kullanır tmux. Eğer doğru verirsen TERM=screen*o zaman eksikliğini kimse fark etmez bceve yerine boşluk karakterleri bol yaymaya seçecek doğru bakacağız dizisi, "Satır sonuna kadar açık".

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.