在tmux模式下丢失vim色彩scheme

我正在运行iterm2,当我在tmux模式下,我在vim中设置的colorscheme不显示。 只有我在iterm中设置的配色scheme。 如果我从shell运行vim,colorscheme看起来是正确的 – 只有当我在tmux模式下。

我试过设置:colorscheme molokai在vim(见下面的截图),它不会改变 – 再次,iterm2的默认colorscheme仍然存在。

我错过了一些设置iterm或tmux.conf? 我的dotfles在这里github上。

任何帮助将是伟大的:)

我有同样的问题。 唯一的区别是我使用solarize而不是molokai

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

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

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

 set -g default-terminal "xterm" 

最后,做$ source ~/.bashrc来加载新的别名。

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

 $ tmux -2 

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

我尝试了上面的所有解决scheme,最后为我工作的是在.tmux.conf放入以下.tmux.conf

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

所以这有点过时,但可能值得一提的是,使用屏幕常常会打破Home键和End键。 运用

 export TERM="xterm-256color" 

应保持这些function,并允许配色scheme(或电力线)正常工作。

我刚刚发现为什么我有很多困惑。 我和其他人一样,在使默认terminal设置生效的时候遇到困难。 我记得我在后台有一个tmux会话。 我重新连接了会话,closures了我的进程,并closures了所有的tmux进程。 下次我重新启动tmux时, .tmux.conf的默认terminal设置开始生效。 我不知道其他人是否也这样做,但我build议在修改.tmux.conf文件之前closures所有的tmux进程。

我的设置在我的本地机器(带iTerm2的OSX 10.9.5)上工作,没有对.bashrc.bash_profile进行任何修改。 我所做的只是将set -g default-terminal "xterm-256color"行添加到~/.tmux.conf并重新启动了所有的tmux进程。

我得到了我的远程设置(ssh到Ubuntu 14.04)以完全相同的方式工作,没有任何修改.bashrc 。 我只是在远程机器上添加了set -g default-terminal "xterm-256color"~/.tmux.conf ,并重新启动了所有远程的tmux进程。

您可以通过在tmux会话中执行echo $TERM来testingVim正在看到的内容。 它一直说screen的值,直到我重新启动所有的tmux进程,在这一点上,它反映了xterm-256color的预期。

希望有所帮助。

我需要vim正确地显示在Ubuntuterminal的tmux和Windows上的cygwin / mintty。 我通过结合这样的答案得到了它的工作。

在.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页面和这个块光标问题

如果有人需要24位色彩支持:

Tmux支持从2.2版本开始的24位色彩。 如果您的terminal支持24位颜色,请将您的terminal添加到terminal覆盖设置。 例如,

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

我的环境清单:

  • macOS Sierra 10.12.3
  • iTerm2 3.0.14(报告terminaltypes是xterm-256color
  • neovim 0.1.7(通过添加: xterm-256color.vimrc来启用24位颜色)
  • tmux 2.3(添加set -ga terminal-overrides ",xterm-256color:Tc".tmux.conf

没有什么我需要添加.bashrc.zshrc

希望这可以帮助。

我已经尝试了上面的所有说明,而且我发现最重要的是我必须在我的.bashrc文件中明确添加以下行。

 export TERM=screen-256color 

我不知道为什么别名tmux =“TERM = screen-256color-bce tmux”不能正常工作。 我使用Sierra 10.12.1。

如果使用tmuxinatormux ,则需要将这些添加到.bashrc.zshrc

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

这些力量在terminal中使用256色。

然后tmuxtmuxinatormux命令都将工作。

为了设置正确的颜色,摆脱Ubuntu和Mac的渲染问题:

检查这个

从tmux手册页,添加标志如下:

 tmux -2 

这个-2标志强制tmux在256色模式下运行。

这对我有用

如果你发现自己和我一样,以上都没有工作..试试这个:

.tmux.conf

 set -g default-terminal "xterm" 

在bashconfiguration(也许.bashrc.bash_profile ):

 alias tmux="tmux -2" 

然后运行:

 killall tmux 

然后重新启动tmux

我没有太多的运气试图导出不同的TERM或在我的.tmux.conf设置默认terminal。

我在tmux中修复vim颜色的解决scheme是将这一行添加到.tmux.conf

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

我不知道为什么这个覆盖是必要的,因为我的TERM=xterm ,我也有iTerm设置为xterm,但它似乎工作。

在.tmux.conf中添加下面一行,用macOS Sierra 10.12.6,

设置-g default-terminal“screen-256color”