Nie mogę zmusić terminalu XFCE do wyświetlania kolorów VIM

10

To właśnie mam w moim .bashrc

if [ -n "$DISPLAY" -a "$TERM" == "xterm" ]; then
    export TERM=xterm-256color
fi

W moim .vimrc mam:

set t_Co=256

echo $ TERM drukuje xterm-256kolor

tput kolory drukuje 256

Uruchomiłem również skrypt o nazwie 256colors2.pl i wszystkie kolory są drukowane poprawnie. Nadal widzę to w moim terminalu (to jest motyw „pustynny”):

pustynia

Również plik colortest.vim nie wyświetla się poprawnie:

Colortest

Najwyraźniej pokazuje tylko domyślną paletę kolorów mojego terminala.

Podkład
źródło
Tylko, aby potwierdzić, co mówi wynik „ :verbose set term?” (ze znakiem zapytania jako częścią polecenia)?
Heptyt
„term = xterm-256color”. Nie wiem co się stanie. Czy terminal xfce przesłania kolory?
Sleeper
Nie powinno tak być.
Heptyt
Czy wiesz, jak to zmienić?
Sleeper
Niestety nie wiem, co jest nie tak, więc nie wiem. To nie powinno mieć znaczenia, ale co się stanie, jeśli zrobisz to :set term=xterm-colorw Vimie?
Heptyt

Odpowiedzi:

1

Musisz przejść do preferencji terminala xfce, kliknąć kartę Zgodność i upewnić się, że ustawienie emulacji to „xterm-256color”, a nie „xterm”

Podstawową przyczynę problemu można znaleźć w tym artykule: https://codeyarns.com/2015/03/18/how-to-set-term-to-xterm-256color/

Zasadniczo musisz mieć terminale oparte na VTE lub GNOME, aby ustawić termzmienną środowiskową przed wywołaniem powłoki. Powyższe ustawienia spowodują, że tak się stanie w terminalu XFCE

Mike Easley
źródło