tmuxを実行すると、vimですべての色が機能するのに問題があります。私はこれがTERM変数または256色に関連する問題の一種だと思いますが、修正なしでvim、tmux、およびiTermで256色が機能するようにオンラインで見つけることができるすべてを試しました。小さな問題なのに真剣に悩みますね。
以下は、iTermを介してvimで実行されるサンプルコードファイルです。
これはtmuxとiTermを介してvimで実行されているのと同じファイルです。
ここでコードを書くときだけ、背景色が少し一致しないようです。なぜですか?
私のiTerm端末はset t_Co=256
に設定されていますvimrc
。私のiTerm端末はに設定されていますxterm-256color
。私のiTerm端末はset -g default-terminal xterm-256color
次のように設定されていますtmux.conf
。
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
export TERM='xterm-256color'
else
export TERM='xterm-color'
fi
私の.profile
。この正確な問題は、私が取り組んでいるUbuntuベースのシステムで再現されており、そこで同じ設定ファイルをすべて使用しています。これは、少なくとも問題がOS / iTermに依存しないように分離されています。
答え1
これは古い質問ですが、Google検索で高いランクを占めていますが、役に立ちません。これはついに私に問題を解決しました。
存在する.tmux.conf:
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",*256col*:Tc"
存在する.vimrc:
if exists('+termguicolors')
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set termguicolors
endif
答え2
後ろに次の行を追加します。.tmux.conf
set -g default-terminal "screen-256color"
以下の行を追加する必要があります。.vimrc
set term=screen-256color
最後に、別名を追加する必要があります。.bashrc
alias tmux='tmux -2'
答え3
TERM=screen-256color
tmuxの内部では、次のように設定する必要があります。こここれはtmux内でのみ機能しますが、tmuxでシェルを開くときに得られる値または値がtmux.conf
無条件に上書きされていることを確認してください。TERM
.bashrc