web-dev-qa-db-ja.com

tmuxモードでvimカラースキームを失う

Iterm2を実行していますが、tmuxモードでは、vimで設定したカラースキームが表示されません。 itermで設定した配色のみ。シェルからvimを実行すると、colorschemeが正しく表示されます。これは、tmuxモードの場合のみです。

Vimで:colorscheme molokaiを設定しようとしましたが(下のスクリーンショットを参照)、変更されません-再び、iterm2のデフォルトのカラースキームが残ります。

Itermまたはtmux.confの設定がありませんか?私のdotflesはgithubにあります。

214
tristen

同じ問題がありました。唯一の違いは、solarizeではなくmolokaiを使用していることです。

この問題を修正するために、~/.bashrcにエイリアスを設定しました:

alias tmux="TERM=screen-256color-bce tmux"

そして、default-terminal~/.tmux.confオプションを設定します。

set -g default-terminal "xterm"

最後に、$ source ~/.bashrcを実行して新しいエイリアスをロードします。

241
Seyeong Jeong

@romainlが上記で言及したように、-2フラグを追加してtmuxに256色を強制的に使用させる必要がありました。

$ tmux -2

alias tmux='tmux -2'をbash_profileに追加したので、忘れないでください:)

69
tristen

上記のすべての解決策を試しましたが、最終的に私にとってうまくいったのは、.tmux.confに次の行を入れることです:

set -g default-terminal "xterm-256color"
62
ElefEnt

なぜ多くの混乱が生じているのかを発見しました。私は、他の人と同様に、デフォルトのターミナル設定を有効にするのに苦労していました。バックグラウンドでtmuxセッションがあったことを思い出しました。セッションを再接続し、プロセスを閉じ、すべてのtmuxプロセスを閉じました。次回tmuxを再起動すると、.tmux.confのデフォルトの端末設定が有効になり始めました。他の人がこれを行っているかどうかはわかりませんが、.tmux.confファイルを変更する前にすべてのtmuxプロセスを閉じることをお勧めします。

.bashrcまたは.bash_profileを変更せずに、ローカルマシン(iTerm2を備えたOSX 10.9.5)で動作するようにセットアップしました。私がしたことは、行set -g default-terminal "xterm-256color"~/.tmux.confに追加し、すべてのtmuxプロセスを再起動することだけでした。

.bashrcを変更せずに、まったく同じ方法で動作するようにリモートセットアップ(Ubuntu 14.04へのSSH)を取得しました。リモートマシンのset -g default-terminal "xterm-256color"~/.tmux.confを追加し、すべてのリモートtmuxプロセスを再起動しました。

Tmuxセッション内からecho $TERMを実行することで、Vimが見ているものをテストできます。すべてのtmuxプロセスを再起動するまで値としてscreenを言い続けましたが、その時点で期待どおりxterm-256colorを反映していました。

お役に立てば幸いです。

26
Chev

そのため、これは少し古くなっていますが、画面を使用するとHomeキーとEndキーが壊れることが多いことに注意する価値があります。を使用して

export TERM="xterm-256color"

これらの機能を維持し、配色(または電力線)が正常に機能するようにします。

19
Jpatrick

Ubuntuのターミナルではtmuxで、Windowsではcygwin/minttyでvimを正しく表示する必要がありました。このような答えを組み合わせることで機能するようになりました。

.bashrcの場合:

alias tmux="tmux -2"

.vimrcの場合:

" use 256 colors in terminal
if !has("gui_running")
    set t_Co=256
    set term=screen-256color
endif

" fix cursor display in cygwin
if has("win32unix")
    let &t_ti.="\e[1 q"
    let &t_SI.="\e[5 q"
    let &t_EI.="\e[1 q"
    let &t_te.="\e[0 q"
endif

この質問からの回答に基づいて、 このVim wikiページ および このブロックカーソル質問

14
Andrew Johnston

上記のすべての手順を試しましたが、最も重要なことは、.bashrcファイルに次の行を明示的に追加する必要があることです。

export TERM=screen-256color

エイリアスtmux = "TERM = screen-256color-bce tmux"が機能しない理由はわかりません。 Sierra 10.12.1を使用しています。

10
Lion Lai

24ビットカラーサポートが必要な場合:

Tmuxは、バージョン2.2の時点で24ビットカラーをサポートしています。端末が24ビットカラーをサポートしている場合は、端末を端末オーバーライド設定に追加します。例えば、

set -ga terminal-overrides ",xterm-256color:Tc"

私の環境チェックリスト:

  • macOS Sierra 10.12.3
  • iTerm2 3.0.14(レポート端末タイプはxterm-256colorです)
  • neovim 0.1.7(xterm-256color.vimrcに追加して、24ビットカラーを有効にします)
  • tmux 2.3(set -ga terminal-overrides ",xterm-256color:Tc".tmux.confに追加)

.bashrcまたは.zshrcに追加する必要があるものは他にありません。

これが役立つことを願っています。

9
Yanzhe Chen

これはGoogleでの最初の結果であり、上記のいずれも役に立たなかったためです。

.vimrcで:

set background=dark
set t_Co=256

HTH

5
HK_

.tmux.confに次の行を追加すると、macOS Sierra 10.12.6で機能しました。

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

4
Zack Zhu

tmuxinatorまたはmuxを使用する場合、これらを.bashrcまたは.zshrcに追加する必要があります。

alias tmux='TERM=screen-256color tmux -2'
alias tmuxinator='TERM=screen-256color tmuxinator'
alias mux='TERM=screen-256color mux'

これらは、端末で256色を使用するように強制します。

その後、tmuxtmuxinator、およびmuxコマンドがすべて機能します。

3
qingxp9

UbuntuとMacの両方で正しい色を設定し、レンダリングの問題を取り除くために:

チェックしてください

2
Munish

私と同じ場所にいる場合は、上記のどれもうまくいかないことがあります。これを試してください。

.tmux.confで:

set -g default-terminal "xterm"

bash config(おそらく.bashrcまたは.bash_profile):

alias tmux="tmux -2"

次に実行します:

killall tmux

その後、tmuxを再起動します

2
eliasbagley

Tmuxのマニュアルページから、次のようにフラグを追加します。

tmux -2

この-2フラグは、tmuxを256色モードで強制的に実行します。

これは私のために働く

1
RyanLiu

別のTERMをエクスポートしたり、.tmux.confでdefault-terminalを設定したりすることはできませんでした。

Tmux内でvimカラーを修正するための私のソリューションは、この行を.tmux.confに追加することでした:

set -g terminal-overrides 'xterm:colors=88'

TERM=xtermとiTermをxtermに設定しているのに、なぜこのオーバーライドが必要なのかわかりませんが、うまくいくようです。

1
Patrick Lewis

set termguicolorsを削除しましたが、機能しません。代わりにset notermguicolorsを設定すると、.vimrcが機能します。

0
alextanhongpin

この問題に対処する必要があり、以前に投稿されたすべての回答は役に立ちましたが、私の場合は問題を解決しませんでした。

私の問題はremovingによって.vimrcの次の行で修正されました:

set termguicolors

とにかく別の指示でやり直した。

今、私の.tmux.confの以前のanwsersにある次の行で:

export TERM="screen-256color"

すべてが素敵でカラフルです。

0
Nitlev