
私が経験している問題は、tmuxで色とフォントが正しく生成されないことです。コマンドがtmuxの外部と内部で実行された場合、同じ出力が異なるように見えます。
外部tmux:
tmux内部:
提案に従ってくださいここset -g default-terminal "screen-256color"
、私の中にあります.tmux.conf
。tput
との出力$TERM
も正確です。
$ tput colors
256
$ echo $TERM
screen-256color
私がここで何を見逃しているのでしょうか?
答え1
内部的には、tmuxはスクリーンショットに出力を生成するプログラムがターミナルがイタリックモードをサポートしていないと思う。プログラムはイタリック体を試みずに、代わりに背景色を操作することを選択します。
これはscreen-256color
、指定したイタリックモードがイタリックモードをサポートしていないようです。これを証明する方法があります。 My Kubuntuで次のコマンドを実行します。
TERM=screen-256color infocmp -1 | grep -E 'ritm|sitm'
空の出力(サポートされていません)を生成しますが、
TERM=tmux-256color infocmp -1 | grep -E 'ritm|sitm'
sitm
イタリックモードに入る(または)終了する()エスケープシーケンスを提供しますritm
(参照man 5 terminfo
)。
terminfoデータベースを照会するすべてのプログラムはscreen-256color
イタリックモードをサポートしていないことがわかります。プログラムが端末で実際にサポートしていると信じるようにするには、サポートされている項目を選択する必要があります。
あなたのterminfoデータベースにtmux-256color
この値が含まれていることを願っています$TERM
。解決策:tmux-256color
代わりに使用してくださいscreen-256color
。