回答

回答

我必須做什麼才能使雙下劃線的轉義序列\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'

相關內容