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

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

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


当前回答

我用软呢帽。

我将此添加到.tmux.conf文件中

设置-g default-terminal "xterm-256color"

然后将其添加到.vimrc

set background=dark
set t_Co=256

其他回答

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

如果你发现自己的处境和我一样,那上面的方法都没用。试试这个:

在.tmux.conf:

set -g default-terminal "xterm"

在bash配置中(可能是.bashrc或.bash_profile):

alias tmux="tmux -2"

然后运行:

killall tmux

然后重新启动tmux

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

$ tmux -2

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

我也有同样的问题。唯一不同的是我使用的是太阳能而不是莫洛凯。

为了解决这个问题,我在~/.bashrc中设置了一个别名:

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

在~/.tmux.conf中设置default-terminal选项:

set -g default-terminal "xterm"

最后,执行$ source ~/。Bashrc加载新别名。

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

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

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

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