42

TmuxをセットアップしたLinuxボックスにSSHで接続するために使用する傾向のあるさまざまな端末をテストしています。

基本的に私はこの振る舞いに気づきました、そして誰かが何が起こっているのか説明を提供してくれることを望んでいます。これは、プロンプトアプリに影響を与える特定の動作である場合があります。

Tmux内でVimを使用していますが、iPhone5のPanicのPromptアプリで、ディレクティブ.vimrcを使用して色を設定すると256色が有効にならないという動作がありましたset t_Co=256。ここで、VimはTmuxを通過していないときに色を正しく表示していました。また、OS XのTerminal.appは、TmuxのVimで色を正しくレンダリングしました(残念ながら、これを使用してPuTTYをWindowsでテストしませんでした)。

それから私は交換しましたset t_Co=256set term=xterm-256colorそして今Tmuxを通してVimを使うとき色は働きます。

また、Tmuxの設定set -g default-terminal "xterm-256color"と設定の両方をテストしましたが、この変更は動作に影響を与えなかったことにも注意してください。set -g default-terminal "screen-256color"

4

2 に答える 2

91
于 2013-03-13T06:56:46.347 に答える
11

両方set t_Co=256set term=xterm-256color一緒に使用できます。

term使用する端末タイプをVimに指示します。これは、キー入力のマッピング、画面の再描画、カーソルの移動、色の表示など、Vimのすべての側面の表示/レンダリングを制御します。通常、Vimはこれを独自に把握できます。TERMOSが提供する環境変数を介して。

OSの値が正しくない場合に備えて、明示的に設定すると役立つことがよくあります。これは、正しい値を提供しないターミナルエミュレータからネットワーク経由で接続している場合に特に当てはまります。

t_Coは多くの端末オプションの1つです(Vimが端末制御に使用するtermcapシステムで使用されます)。具体的には、端末がサポートする色の数を指します。ターミナルエミュレーションがほぼ正しい場合は、これをオーバーライドする必要がある場合がありますが、Vimはサポートされている色の数を正しく識別していません。

私はこれらのオプションの両方を使用して.vimrc、Vimが好きなすべての端末(Ubuntuのgnome-terminal、OSXのiTerm2、およびWindowsのKiTTY)を使用してtmuxで256色を使用するようにします。また、これらの端末のほとんどはxterm-256color、端末タイプとして送信するように明示的に構成されています。

于 2013-03-13T02:49:12.427 に答える