tmuxを使用すると、VIM Sunshineのカラースキームが正しく表示されません。

tmuxを使用すると、VIM Sunshineのカラースキームが正しく表示されません。

gnome端末(Ubuntu)を使用してVIMで夏時間のカラースキームを使用しようとしています。 tmuxなしでvimを実行すると、次のように見えます。

ここに画像の説明を入力してください。

私の.bashrcに次のコマンドを追加すると、

# tmux configuration
tmux attach &> /dev/null

if [[ ! $TERM =~ screen ]]; then
    exec tmux
fi

その後、tmuxで端末を起動すると、次のように色が正しく表示されません。

ここに画像の説明を入力してください。

.tmux.conf ファイルの内容です。

source ~/.local/lib/python2.7/site-packages/powerline/bindings  /tmux/powerline.conf                    
set-option -g default-terminal "screen-256color"                                                                                                                                          
set-option -g history-limit 10000   

使っていますhttps://github.com/altercation/vim-colors-solarizedvim カラースキームの場合、端末は次のようになります。https://github.com/Anthony25/gnome-terminal-colors-solarized

編集:tmuxを使う:

~$ echo $TERM
screen

ここに画像の説明を入力してください。

tmuxなし:

~$ echo $TERM
xterm

ここに画像の説明を入力してください。

答え1

Vimが256色の可用性を正しく検出するには、この値が$TERM必要です。screen-256color(ツールは同様の多重化を実装しているため、tmux端末定義を再利用します。)screen

TERM内部 tmux 追加行に正しい値を設定する必要があります。

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

あるいは、ビアに256色を強制します~/.tmux.conf(これは回避策になる可能性があり、高色ではなく端末を使用する場合は最も保護されています)。~/.vimrcset t_Co=256if $TERM == 'screen'

答え2

問題はtmuxバージョン1.8です。私はここに提案を使用しました。

https://stackoverflow.com/questions/25940944/ugrade-tmux-from-1-8-to-1-9-on-ubuntu-14-04

tmuxをバージョン1.9aにアップグレードしたところ、問題がなくなりました。

答え3

tmux -2、-2を使用すると、tmuxは端末が256色をサポートしていると仮定します。 tmuxが常にこのように始まるようにエイリアスを作成しました。

答え4

ウィム

~/.vimrc:

set t_Co=256
colorscheme <name>

マルチプレクサ

~/.tmux.conf:

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

シェル

以前の変更を行った後、次のいずれかのオプションでワークフローを調整する必要があります。

オプション#1:常に引数を使用してtmuxを起動してください-2

tmux -2

オプション#2:シェル設定ファイルでエイリアス(~/.bashrc、)を設定します~/.zshrc

alias tmux="tmux -2"

オプション#3:tmuxスクリプトを生成し、スクリプトが次の場所にあることを/usr/local/bin/tmux確認してください。/usr/local/bin//usr/bin$PATH

#!/bin/sh
/usr/bin/tmux -2 "$@"

関連情報