我必须怎么做才能使双下划线的转义序列\E[4:2m
与 tmux 一起工作?
它在 tmux 之外的我的终端 (mintty) 中工作,我成功地调整了我的终端的 terminfo 以说明tmux 兼容的 terminfo 扩展,以在 tmux 中启用真彩色和上划线。
但是,我无法使扩展的下划线功能起作用(“Smulx”代码)。这是我的术语信息:
# 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-feature 是非常新的)。有任何想法吗?
谢谢
回答
选项 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-string 附加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,
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'