\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 はソースからビルドされました)。何かアイデアはありますか?
ありがとう
答え
オプション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
端末オーバーライドとして設定 ',*:Smulx=\E[4::%p1%dm'