Почему я вижу только 8 цветов в терминале (xfce-terminal)?

Я использую Xubuntu 13.04 и хочу использовать Vim в качестве редактора по умолчанию для всего. Я загрузил много цветовых схем vim и попробовал их, но все они не похожи на официальный скриншот.

Например, собственная цветовая схема vim — пустыня должна выглядеть так:

введите здесь описание изображения

Но в моем vim многие цвета не будут отображаться, например фон.

введите здесь описание изображения

Так что это означает борьбу с терминалом xfce, и я не могу заставить его использовать 256 цветов. команда tput colors дает мне 8.

В то же время код для ((x=0; x‹=255; x++));do echo -e "${x}:\033[48;5;${x}mcolor\033[000m"; сделано показывает мне хорошие цвета. кажется я что-то пропустил. Если я побегу

 **$ echo $TERM**

Я получаю xterm. Это должно быть «xterm-256color».

Когда я пытаюсь установить term=xterm-256color и экспортировать TERM=xterm-256color

Затем: эхо $TERM

Я получаю сообщение xterm-256color.

Но после выхода/регистрации я все еще не получаю правильные цвета в Vim. И я вижу, что Xterm снова меняется на xterm.

Я добавил:

if $TERM == "xterm-256color" set t_Co=256 endif

и

t_Co=256

в мой файл .vimrc, и это, похоже, не помогло. Затем я настроил записи xterm; добавил это в ~/.Xdefaults:

 *customization: -color
 XTerm*termName: xterm-256color
Add this to ~/.xsession to apply to new terminals:

if [ -f $HOME/.Xdefaults ]; then
   xrdb -merge $HOME/.Xdefaults
fi

Когда я изменил настройки терминала, эмулировать среду терминала, «xterm» стал «xterm-256color».

Я получаю сообщение:

 '*** VTE ***: Failed to load terminal capabilities from '/etc/termcap' 

Когда я проверяю /usr/share/vte/termcap/xterm, файл xterm-256color отсутствует. То же самое в папке xterm0.0. Я пытался найти этот файл в Интернете, чтобы загрузить и положить в папку, но я не смог его найти.

Это сводит меня с ума весь день... Есть предложения?


person ReneFroger    schedule 11.10.2013    source источник


Ответы (1)


Быстрый (временный) способ

Введите это всякий раз, когда вы открываете новый терминал:

export TERM=xterm-256color

Работает пока открыто окно.

Работает, но грязно

Добавьте строку выше к ~/.bashrc.

Однако проблема заключается в том, что редактирование $TERM в .bashrc — плохая идея, потому что это автоматически заставляет любой терминал, использующий bash, пытаться использовать его независимо от того, поддерживает ли он на самом деле 256 цветов или нет (например, при использовании SSH или доступе к терминалам). с Ctrl+Alt+F1 до F6).

Что я сделал, так это то, что, поскольку xfce4-terminal устанавливает значение $COLORTERM в xfce4-terminal, я вместо этого добавил следующее к .bashrc:

if [ "$COLORTERM" == "xfce4-terminal" ] ; then
    export TERM=xterm-256color
fi

Таким образом, соответствующее редактирование $TERM происходит только в том случае, если вы используете xfce4-terminal, что в любом случае просто устанавливает его на xterm (и изменение среды эмуляции приводит к сообщению «VTE»).

Ссылки:

person maki57    schedule 01.04.2015