自从我开始使用以来,我很怀念控制台上的高亮显示(反向模式)乌尔希+tmux作为主终端。突出显示部分已替换为斜体字体- 乍一看很酷 -但是,当我尝试在 中搜索某些内容时,我无法在数千个非斜体单词中找到一个斜体单词less
。
当终端类型设置为配置文件时xterm*
(例如set -g default-terminal "xterm-color"
.tmux.conf)。但是,在这种情况下,某些快捷方式无法工作,应用程序无法获取正确的终端几何形状,...
答案1
我在 tmux 的页面上找到了有关它的信息和解决方案:
Screen 的 terminfo 描述缺少斜体模式,而代之以 standout 模式,但使用
urxvt
与斜体相同的转义序列。这意味着vim
寻找斜体的应用程序(如 )将找不到它,并可能改为反向,而要求 standout 的应用程序(如 less)最终将使用斜体而不是反向。
[修复 1] 替换 terminfo 条目并获取反向 + 斜体
(每位用户!)
为了让应用程序意识到
tmux
支持斜体并使用适当的转义序列来突出显示,您需要创建一个新的术语信息修改了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"
而不是“屏幕”。有关详细信息,请参阅有关 256 色支持的常见问题解答条目。另请注意,tmux 仍会在不支持斜体的终端上显示反向视频。
如果你
urxvt
根本无法显示斜体,请确保你启用了斜体字体,例如,添加到~/.Xdefaults:urxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
[修复 2] 只需将斜体控制字符替换为反向
将此终端覆盖添加到〜/ .tmux.conf:
set -g terminal-overrides 'rxvt-unicode*:sitm@,ritm@'
答案2
我在 arch linux 中运行 urxvt。楼主的回答对我没有帮助。这个对我有帮助:
https://github.com/tmux/tmux/blob/2.1/FAQ#L355-L383
搜索italic
并运行;然后将其放入 tmux 配置中
set -g default-terminal "tmux"
不要使用“tmux-256color”。(我想试试,但对我来说没用。)
最后,将其添加到您的 rc(.zshrc、.bashrc 等):
export TERM="xterm-256color"
答案3
更快捷的方式:
set -g terminal-overrides "screen.xterm-new"
无需任何进一步的魔法即可工作(并且仍然注意 tmux 手册中关于终端类型需要为“屏幕”或其衍生类型的警告)。