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

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

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


当前回答

在我的.tmux.conf中,我并没有尝试导出一个不同的TERM或设置默认终端。

我在tmux中修复vim颜色的解决方案是在.tmux.conf中添加这一行:

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

我不确定为什么需要这种重写,因为我的TERM=xterm,我也将iTerm设置为xterm,但它似乎是有效的。

其他回答

只是不得不处理这个问题,尽管之前发布的所有答案都很有帮助,但它们并没有解决我的问题。

我的问题是通过删除以下行在我的.vimrc:

set termguicolors

这是多余的另一个指令。

现在,在我的.tmux.conf之前的答案中找到以下一行:

export TERM="screen-256color"

一切都是美好和丰富多彩的。

如果有人需要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中添加任何其他内容。

希望这能有所帮助。

在我的.tmux.conf中使用这两行对我来说是有效的,我使用的是带有Alacritty的Ubuntu 20.04。

set  -g default-terminal "tmux-256color"
set -ag terminal-overrides ",alacritty:RGB"

在一篇关于alacitty回购的文章中找到了它们,在YodaEmbedding提供的评论中:

https://github.com/alacritty/alacritty/issues/109

我使用的是Ubuntu bionic 18.04.4 LTS和tmux 2.6。 我也有同样的问题,它可以通过简单地将此添加到.bashrc来解决

export TERM=screen-256color

当然,别忘了注明出处。 源~ / . bashrc

或者重启你的终端机

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

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