Цвета Vim неправильно отображаются в терминале tmux, работающем в терминале rxvt-unicode

Я использую Debian (Jessie).

My ~/.файл vimrc содержит следующее утверждение.

colorscheme murphy

My ~/.Файл Xresources содержит следующие свойства.

URxvt.background: #000000
URxvt.foreground: #e0e0e0
URxvt.scrollBar: false
URxvt.borderless: true
URxvt.font:xft:Bitstream Vera Sans Mono:pixelsize=16

когда я запускаю vim в моем терминале rxvt-unicode (urxvt) Я получаю ожидаемый результат.

Vim running within rxvt-unicode

но когда я запускаю tmux внутри urxvt и затем запустить vim внутри терминала tmux, цвета яркий.

Vim running within tmux running within rxvt-unicode

как я могу это исправить?

6
задан Susam Pal
05.12.2022 9:59 Количество просмотров материала 2476
Распечатать страницу

2 ответа

проблема возникает потому, что терминал rxvt-unicode (urxvt) поддерживает только 88 цветов, тогда как терминал tmux поддерживает 256.

вывод из urxvt:

susam@nifty:~$ tput colors
88

в результате при запуске tmux используется только 8 цветов

susam@nifty:~$ tput colors
8

добавление следующей команды tmux в~/.tmux.conf не помогают.

set -g default-terminal screen-256color

С этой строки в ~/.tmux.conf, когда tmux запускается, он, кажется, использует 256 цветов.

susam@nifty:~$ tput colors
256

однако, это не помогите, потому что хотя tmux, кажется, использует 256 цветов, базовый терминал rxvt-unicode (urxvt) не может отображать их должным образом, поскольку он поддерживает только 88 цветов. В результате Vim по-прежнему отображает слишком яркие цвета.

решение: установите пакет rxvt-unicode-256color.

в Debian доступен пакет rxvt-unicode-256color, который поставляется с терминалом urxvt и поддерживает 256 цветов. Установка rxvt-unicode-256color исправила вопрос.

команды, которые я использую:

aptitude update
aptitude purge rxvt-unicode
aptitude install rxvt-unicode-256color

цвета теперь немного другие.

enter image description here

но опыт последователен с tmux.

enter image description here

3
отвечен Susam Pal 2022-12-06 17:47

ответ Сусама пала велик и работал для меня. У меня все еще была небольшая проблема с ним, однако, как man выделенные Результаты поиска в разделе курсив. Согласно последней записи в tmux-часто задаваемые вопросы:

описание terminfo экрана нет режиме курсив и имеет режим выделения на своем месте, но используя той же последовательности, что urxvt использует курсив.

здесь как исправить этот выпуск из терминала (адаптирован из FAQ):

$ mkdir $HOME/.terminfo/
$ screen_terminfo="screen-256color"
$ infocmp "$screen_terminfo" | sed \
  -e 's/^screen[^|]*|[^,]*,/screen-it-256color|screen with italics support,/' \
  -e 's/%?%p1%t;3%/%?%p1%t;7%/' \
  -e 's/smso=[^,]*,/smso=\E[7m,/' \
  -e 's/rmso=[^,]*,/rmso=\E[27m,/' \
  -e '$s/$/ sitm=\E[3m, ritm=\E[23m,/' > /tmp/screen.terminfo
$ tic /tmp/screen.terminfo

затем измените следующую строку tmux в ~/.tmux.conf:

set -g default-terminal screen-it-256color
0
отвечен mzuther 2022-12-06 20:04

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх