我必须做什么才能使双下划线的转义序列\E[4:2m
与 tmux 一起工作?
它在我的终端(mintty)中 tmux 之外运行,并且我成功调整了终端的 terminfo 以适应terminfo 扩展tmux 与哪个兼容,可以在 tmux 中启用真彩色和上划线。
但是,我无法使扩展下划线功能工作(“Smulx”代码)。这是我的 terminfo:
# Compile and add to database using 'tic -x <filename>'
#
stanterm-256color|xterm with non-standard terminfo extensions,
use=xterm-256color,
Tc,
Smol=\E[53m, Rmol=\E[55m,
# These underline extensions don't work in Tmux :(
# Smulx=\E[< WHAT GOES HERE? >m,
# Smul2=\E[4:2m, does not work within tmux
我的.tmux.conf
只包含最小的
set -g default-terminal "tmux-256color"
我正在通过 byobu 运行 tmux 3.0(tmux 是从源代码构建的,因为 overline 功能非常新)。有什么想法吗?
谢谢
回答
选项 1:调整 tmux 配置
增加set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
你的.tmux.conf
收益
# .tmux.config
set -g default-terminal "tmux-256color"
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
# ... rest of your configuration
选项 2:调整 terminfo
将相应的 termcap 字符串附加Smulx=\E[4:%p1%dm,
到您的 terminfo来源文件并使用 进行编译tic -x <termfile>
。请注意,与上一个选项相反,该Smulx
条目需要一个冒号。
我选择了后者。我的 terminfo 源文件如下所示:
# Compile and add to database using 'tic -x <filename>'
#
stanterm-256color|xterm with non-standard terminfo extensions,
use=xterm-256color,
Tc,
Smol=\E[53m, Rmol=\E[55m,
Smulx=\E[4:%p1%dm,
答案1
设置 -as 终端覆盖',*:Smulx=\E[4::%p1%dm'