我正在运行iterm2,当我在tmux模式下,我在vim中设置的配色方案不显示。只有我设定的配色方案。如果我从shell运行vim,配色方案显示正确-只有当我在tmux模式。

我尝试过在vim中设置:colorscheme molokai(见下面的截图),它没有改变-再次,iterm2的默认配色方案保持不变。

我是否遗漏了对iterm或tmux.conf的一些设置?我的图都在github上。


当前回答

我使用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

rinetd发布的关于tmux回购问题的解决方案: https://github.com/tmux/tmux/issues/1246

其他回答

我已经尝试了上面所有的指令,我发现最重要的事情是我必须显式地在我的.bashrc文件中添加以下一行。

export TERM=screen-256color

我不知道为什么别名tmux="TERM=screen-256color-bce tmux"不工作。 我使用的是Sierra 10.12.1。

因为这是谷歌上的第一个结果,因为上面没有一个有用..我想张贴这个,以便有人可能会发现它有帮助

在. vimrc:

set background=dark
set t_Co=256

HTH

我尝试了上面所有的解决方案,最后对我有用的是在.tmux.conf中放入以下几行:

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

正如上面提到的@romainl,我需要通过添加-2标志来强制tmux使用256种颜色:

$ tmux -2

我添加了别名tmux='tmux -2'到我的bash_profile,所以,我不会忘记:)

如果有人需要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(在.tmux.conf中添加set -ga terminal-override ",xterm-256color:Tc")

我不需要在.bashrc或.zshrc中添加任何其他内容。

希望这能有所帮助。