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

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

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


当前回答

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

export TERM=screen-256color

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

其他回答

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

export TERM="xterm-256color"

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

我用软呢帽。

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

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

然后将其添加到.vimrc

set background=dark
set t_Co=256

假设你已经有了与终端相匹配的vim颜色:

运行tmux Kill -server终止所有tmux会话 在~/.tmux.conf中为tmux创建一个用户配置文件 在.tmux.conf文件中添加以下代码行: 设置-g default-terminal "tmux-256color" set -ga terminal-override ",xterm-termite:Tc" 在命令行中运行echo $TERM 用echo $TERM返回的输出替换xterm-termite

我需要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页面和这个块游标问题

在我的.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