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

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

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


当前回答

这有点过时,但值得一提的是,使用screen通常会破坏Home和End键。使用

export TERM="xterm-256color"

它应该保持这些功能,并允许配色方案(或电力线)工作良好。

其他回答

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

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

set termguicolors

这是多余的另一个指令。

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

export TERM="screen-256color"

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

我需要vim在ubuntu的终端上使用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页面和这个块游标问题

正如上面提到的@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中添加任何其他内容。

希望这能有所帮助。

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

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

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

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

set -g default-terminal "xterm"

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