terminfo を上書きして tmux で TrueColor サポートを有効にできない

terminfo を上書きして tmux で TrueColor サポートを有効にできない

ディストリビューション: Arch Linux。

私は AUR から st ビルドを入手し、公式リポジトリから tmux を入手しました。st では、termguicolors オプションを介して最新バージョンの Vim で動作する優れた TrueColor サポートが見つかりました。しかし、これを tmux に導入しようとしたときに、いくつかの問題に直面しました。

最初に出力された

tmux info | grep Tc

tmuxの内部からは

197: Tc: [missing]

tmuxのマニュアルページを読んだ後、このオプションはtmux Tcに導入する必要があることがわかりました。

set-option -g terminal-overrides "st-256color:Tc"

私のターミナルエミュレータからは次のように返されます:

TERM=st-256color 

しかし、tmux infoの結果は同じでした。確認のためにxtermをインストールし、同じ操作を試しましたが、別の結果は得られませんでした。結局のところ、tmuxはターミナルが256色をサポートしていることを認識しており、それを介して真の色をエミュレートします。

答え1

端末の説明のコピーを変更して、次のフラグを提供することができます。

infocmp -x >foo
edit foo, adding "Tc," after the end of any line ending with a comma
tic -x foo

これはncurses(どのLinuxディストリビューションにも搭載されている)では機能しますが、多分NetBSD の呪い。

答え2

-a既存の端末機能を上書きするのではなく、追加して追加する必要があります。

set-option -ga terminal-overrides ",*256*:Tc"

これは、256 色をサポートするすべての端末で機能します。

set -g terminal-overrides設定ファイルの後のどこかに別の設定がないかどうかも確認してください。


についてはvim、おそらく次のものも必要になるでしょう:

set -g default-terminal "screen-256color"

関連情報