249

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

vimで設定を試みまし:colorscheme molokaiたが(下のスクリーンショットを参照)、変更されません-繰り返しますが、iterm2のデフォルトの配色はそのままです。

iterm または tmux.conf の設定が不足していますか? 私の dotfles は github here にあります。

4

23 に答える 23

269

私も同じ問題を抱えていました。唯一の違いは、私がsolarize代わりに使用していたことですmolokai

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

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

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

set -g default-terminal "xterm"

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

于 2012-04-22T01:23:12.650 に答える
100

上記のすべてのソリューションを試しましたが、最終的にうまくいったのは、次の行を.tmux.conf.

set -g default-terminal "xterm-256color"
于 2014-03-18T13:53:52.860 に答える
79

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

$ tmux -2

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

于 2012-04-15T16:33:47.010 に答える
37

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

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

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

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

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

于 2014-09-19T18:18:35.603 に答える
17

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ページ、およびこのブロックカーソルの質問からの回答に基づいて

于 2015-07-06T21:18:51.420 に答える
11

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

export TERM=screen-256color

alias tmux="TERM=screen-256color-bce tmux" がうまくいかない理由がわかりません。Sierra 10.12.1 を使用しています。

于 2017-01-13T02:16:21.370 に答える
3

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コマンドはすべて機能します。

于 2015-10-28T13:18:14.763 に答える
3

あなたが私と同じ状況にいることに気付いたら、上記のどれもうまくいきませんでした..これを試してください:

.tmux.conf:

set -g default-terminal "xterm"

bash構成で(おそらく.bashrcまたは.bash_profile):

alias tmux="tmux -2"

そして実行します:

killall tmux

そしてtmuxを再起動します

于 2016-11-10T23:02:25.773 に答える
2

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

これをチェックして

于 2016-01-03T07:04:05.627 に答える
2

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

tmux -2

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

これは私のために働く

于 2015-06-30T02:49:03.953 に答える
1

TERMで別の端末をエクスポートしたり、既定の端末を設定したりしようとしても、うまくいきませんでした.tmux.conf

tmux 内で vim の色を修正するための私の解決策は、次の行を に追加することでした.tmux.conf:

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

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

于 2014-07-15T13:59:57.447 に答える
0

私はgnome端末を使用していますが、これで問題は解決しましたが、(0)次のことを忘れないでください:

killall tmux

(1) .tmux.conf を編集

# 24 bit color
set -g default-terminal "tmux-256color"
set -ga terminal-overrides ",*256col*:Tc"

(2) 編集: .vimrc

" Enable true color
if exists('+termguicolors')
  let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
  let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
  set termguicolors
endif

tmux リポジトリの問題で rinetd によって投稿されたソリューション: https://github.com/tmux/tmux/issues/1246

于 2020-12-11T11:42:58.630 に答える