让斜体在 tmux 中正常工作

让斜体在 tmux 中正常工作

我遇到的问题是 tmux 中无法正确生成颜色和字体。当命令在 tmux 外部和内部运行时,相同的输出看起来不同。

外部 tmux:

在此输入图像描述

tmux 内部:

在此输入图像描述

按照建议这里,我有set -g default-terminal "screen-256color"在我的.tmux.conftput和的输出$TERM也是正确的。

$ tput colors
256

$ echo $TERM
screen-256color

我在这里缺少什么?

答案1

在 tmux 内部,在屏幕截图上生成输出的程序“认为”终端不支持斜体模式。该程序不会尝试使用斜体,而是选择操纵背景颜色。

这是因为screen-256color您指定的显然不支持斜体模式。有一种方法可以证实这一点。在我的 Kubuntu 中执行以下命令

TERM=screen-256color infocmp -1 | grep -E 'ritm|sitm'

产生空输出(不支持),而

TERM=tmux-256color infocmp -1 | grep -E 'ritm|sitm'

为我们提供进入 ( sitm) 或退出 ( ritm) 斜体模式的转义序列(请参阅man 5 terminfo)。

任何查询 terminfo 数据库的程序都会发现它screen-256color不支持斜体模式。为了让程序相信您的终端确实支持它,您需要选择支持的东西。

希望您的 terminfo 数据库包含tmux-256color.这对您来说是正确的值$TERM解决方案:使用tmux-256color而不是screen-256color.

相关内容