我必須做什麼才能使雙下劃線的轉義序列\E[4:2m
與 tmux 一起工作?
它在 tmux 之外的我的終端(mintty)中工作,我成功地調整了我的終端的 terminfo 以解釋terminfo 擴展與 tmux 相容以在 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 是從原始碼建置的,因為上劃線功能非常新)。有任何想法嗎?
謝謝
回答
選項 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,
答案1
設定 -as 終端覆蓋 ',*:Smulx=\E[4::%p1%dm'