답변

답변

\E[4:2mtmux에서 이중 밑줄 작업을 위한 이스케이프 시퀀스를 만들려면 어떻게 해야 합니까 ?

tmux 외부의 터미널(mintty)에서 작동하며 터미널의 용어 정보를 성공적으로 조정했습니다.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을 실행하고 있습니다(overline 기능이 매우 새롭기 때문에 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

set -as 터미널 재정의 ',*:Smulx=\E[4::%p1%dm'

관련 정보