私は、TmuxがセットアップされているLinuxボックスにSSHで接続するのに使用するさまざまな端末をテストしています。
基本的に私はこの振る舞いに気づきました、そして、私は誰かが何が起こっているかの説明を提供できることを望んでいます。現在、これはプロンプトアプリに影響する特定の動作である場合があります。
Tmux内でVimを使用していますが、iPhone5のPanicのPromptアプリでは、.vimrc
がset t_Co=256
ディレクティブを使用して色を設定したときに256色が有効にならないという動作がありました。ここで、VimがTmuxを実行していなかったとき、色を正しく表示していました。また、OS XのTerminal.appは、TmuxのVimで色を正しくレンダリングしました(残念ながら、WindowsでPuTTYをテストしませんでした)。
次に、set t_Co=256
をset term=xterm-256color
に交換しました。VimをTmuxで使用すると、色が機能するようになりました。
Tmuxのset -g default-terminal "xterm-256color"
とset -g default-terminal "screen-256color"
の両方の設定をテストしたことにも注意してください。この変更は動作に影響を与えませんでした。
set t_Co=256
とset term=xterm-256color
の両方を一緒に使用できます。
term
は、使用する端末タイプをVimに指示します。これは、キー入力のマッピング、画面の再描画、カーソルの移動、色の表示など、Vimのすべての側面の表示/レンダリングを制御します。 OSが提供するTERM
環境変数を使用して、これを独自に把握してください。
OSの値が正しくない場合に、明示的に設定すると役立つことがよくあります。これは、正しい値を提供しないターミナルエミュレータからネットワーク経由で接続している場合に特に当てはまります。
t_Co
は、多くの端末オプションの1つです(Vimが端末制御に使用するtermcapシステムで使用されます)。具体的には、端末がサポートする色の数を指します。ターミナルエミュレーションがほとんど正しい場合、これをオーバーライドする必要がある場合がありますが、Vimはサポートされている色の数を正しく識別しません。
.vimrc
でこれらのオプションを両方使用して、Vimがtmuxで好きなすべての端末(Ubuntuのgnome-terminal、OSXのiTerm2、およびWindowsのKiTTY)を使用して256色を使用するようにします。また、xterm-256color
を端末タイプとして送信するように明示的に構成されたこれらの端末のほとんどがあります。