Я не могу получить терминал XFCE для отображения цветовых схем VIM

10

Это то, что у меня есть в моем .bashrc

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

В моем .vimrc у меня есть:

set t_Co=256

echo $ TERM печатает xterm-256color

tput colours распечатывает 256

Я также запустил скрипт с именем 256colors2.pl, и все цвета напечатаны правильно. Тем не менее, то, что я вижу в своем терминале, таково (это тема «пустыни»):

пустыня

Также файл colortest.vim не отображается должным образом:

colortest

Видимо, он показывает только цветовую палитру моего терминала по умолчанию.

шпала
источник
Просто чтобы подтвердить, что говорит вывод " :verbose set term?" (с вопросительным знаком как часть команды)?
Гептит
"Термин = Xterm-256 - цветные". Я не знаю, что происходит. Терминал xfce переопределяет цвета?
Спящий
Так не должно быть.
Гептит
Так вы знаете, как это изменить?
Спящий
К сожалению, я не знаю, что случилось, поэтому я не знаю. Это не должно иметь никакого значения, но что произойдет, если вы делаете :set term=xterm-colorв Vim?
Гептит

Ответы:

1

Вам нужно перейти в настройки терминала xfce, перейти на вкладку «Совместимость» и убедиться, что для параметра эмуляции задано «xterm-256color», а не «xterm»

Основную причину проблемы можно найти в этой статье: https://codeyarns.com/2015/03/18/how-to-set-term-to-xterm-256color/

По сути, вам нужно, чтобы терминалы на основе VTE или GNOME устанавливали termпеременную среды перед вызовом оболочки. Приведенные выше настройки приведут к тому, что это произойдет в терминале XFCE

Майк Исли
источник