terminfoをオーバーライドしてtmuxでTrueColorサポートを有効にすることはできません。

terminfoをオーバーライドしてtmuxでTrueColorサポートを有効にすることはできません。

配布:アーチLinux。

公式リポジトリのAURと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"

関連情報