В описании terminfo экрана отсутствует режим курсива, на его месте стоит режим ожидания, но используется та же escape-последовательность, что и urxvt
использует для курсива. Это означает, что приложения (как vim
) поиск курсива не найдет его и может повернуть вспять на своем месте, в то время как приложения (например, меньше), запрашивающие выделение, в итоге получат курсив вместо обратного.
Чтобы приложения знали, что tmux
поддерживает курсив и использовать правильную escape-последовательность для выдающегося, вам нужно будет создать новый TERMINFO файл с измененным sgr
, smso
, rmso
, sitm
а также ritm
записей:
$ mkdir $HOME/.terminfo/
$ screen_terminfo="screen"
$ infocmp "$screen_terminfo" | sed \
-e 's/^screen[^|]*|[^,]*,/screen-it|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"
Если ваш терминал поддерживает 256 цветов, используйте:
$ screen_terminfo="screen-256color"
вместо «экрана». Смотрите раздел FAQ о поддержке 256 цветов для получения дополнительной информации. Также обратите внимание, что tmux по-прежнему будет отображать обратное видео на терминалах, которые не поддерживают курсив.
Если твой urxvt
курсив вообще не отображается, убедитесь, что у вас включен шрифт, поддерживающий курсив, например, добавьте в ~ / .Xdefaults :
urxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
default-terminal
вxterm
,xterm
, толькоscreeen
варианты.dircolors
исчезают; Я смог это исправить, добавивTERM screen-it
к списку терминалов в~/.dircolors
,Более быстрый способ:
Работает без какого-либо дополнительного волшебства (и все еще учитывает предупреждение в руководстве tmux о типе терминала, который должен быть "экраном" или его производным).
источник
watch -n10 -d COMMAND args..
позволяет обнаруживать изменения сейчас (например, пробелы! Как вы делаете курсив пробелы?). Я думаю, что это должен быть принятый ответ. Примечание: когда терминал уже открыт, используйтеTERM=screen.xterm-new; export TERM
Я запускаю urxvt в Arch Linux. Ответ оп не помог мне. Это помогло мне:
https://github.com/tmux/tmux/blob/2.1/FAQ#L355-L383
ищи
italic
и запустить это; затем поместите это в конфиг tmuxне используйте "tmux-256color". (попробуйте, я полагаю, но у меня это не сработало.)
наконец, добавьте это в свой rc (.zshrc, .bashrc и т. д.):
источник