我正在运行iterm2,当我处于tmux模式时,我在vim中设置的colorscheme不会显示。只有我在iterm中设置的配色方案。如果我从shell运行vim,colorscheme看起来正确-仅当我处于tmux模式时。
我已经尝试:colorscheme molokai
在vim中进行设置(请参见下面的屏幕截图),并且设置没有改变-再次,iterm2的默认颜色仍然保留。
我是否缺少iterm或tmux.conf的某些设置?我的dotfles在github上。
我正在运行iterm2,当我处于tmux模式时,我在vim中设置的colorscheme不会显示。只有我在iterm中设置的配色方案。如果我从shell运行vim,colorscheme看起来正确-仅当我处于tmux模式时。
我已经尝试:colorscheme molokai
在vim中进行设置(请参见下面的屏幕截图),并且设置没有改变-再次,iterm2的默认颜色仍然保留。
我是否缺少iterm或tmux.conf的某些设置?我的dotfles在github上。
Answers:
我有同样的问题。唯一的区别是我正在使用solarize
而不是molokai
。
为了解决这个问题,我在中设置了一个别名~/.bashrc
:
alias tmux="TERM=screen-256color-bce tmux"
并在中设置default-terminal
选项~/.tmux.conf
:
set -g default-terminal "xterm"
最后,执行$ source ~/.bashrc
加载新别名。
tmux -2
因为它比较冗长。
set -g default-terminal "screen-256color"
工作,而不是xterm
在OS X上工作,将其放入Ubuntu盒子中。我提到这个网站:rhnh.net/2011/08/20/vim-and-tmux-on-osx
tmux -2
或tmux -2 attach
(tmux决定每次将新会话或现有会话附加到终端时)。明智的别名是alias tmux='tmux -2'
。另请参见tmux,TERM和256色支持
tmux -2
选项set -g default-terminal "screen-256color"
对我有用,因此这将是我的选择。但是还是谢谢你!
.tmux.conf
设置似乎没有生效,请关闭所有 tmux进程并重新启动。您set -g default-terminal "screen-256color"
无需在中设置任何别名即可.bashrc
。我认为人们正在做诸如环境变量别名之类的变通办法,因为他们并没有在配置后关闭所有tmux进程.tmux.conf
。
正如@romainl上面提到的,我需要通过添加-2
标志来强制tmux使用256种颜色:
$ tmux -2
我添加alias tmux='tmux -2'
了我的bash_profile,所以,我不会忘记:)
-2
但是在tmux的Vim中有256种颜色。
TERM
值为screen
。-2
不会改变TERM
,并且不会改变与Vim从其环境中获取的信息有关的任何颜色::echo &t_Co
仍然返回8
。有了信息,Vim做正确的事。必须设置的唯一内容是1.终端仿真器的TERM
to xterm-256color
或等效值,如urxvt-unicode-256color
和2. tmux的默认值TERM
with set -g default-terminal "screen-256color"
。
TERM
将设置为xterm
,而不是xterm-256color
,因此需要运行tmux -2
(或TERM=xterm-256color tmux
,或更改termcap或完成同一件事的其他方式)。
我尝试了上面所有的解决方案,最终对我有用的是将以下行放入.tmux.conf
:
set -g default-terminal "xterm-256color"
我刚刚发现了为什么会有很多困惑。我和这里的其他人一样,很难使默认终端设置生效。我记得在后台进行过tmux会话。我重新连接了会话,关闭了进程,并关闭了所有tmux进程。下次我重新启动tmux时,默认终端设置.tmux.conf
开始生效。我不知道其他人是否也这样做,但是我建议在修改.tmux.conf
文件之前关闭所有tmux进程。
我的设置可以在本地计算机(带iTerm2的OSX 10.9.5)上运行,而无需对.bashrc
或进行任何修改.bash_profile
。我所做的就是将行添加set -g default-terminal "xterm-256color"
到~/.tmux.conf
并重新启动所有tmux进程。
我获得了远程设置(对于Ubuntu 14.04而言为ssh),其工作方式完全相同,而无需对进行任何修改.bashrc
。我只是将其添加set -g default-terminal "xterm-256color"
到~/.tmux.conf
远程计算机上,然后重新启动了所有远程tmux进程。
您可以通过echo $TERM
在tmux会话中执行操作来测试Vim看到的内容。它一直说screen
是值,直到我重新启动所有tmux进程,这时它才xterm-256color
按预期反映出来。
希望能有所帮助。
default-terminal
选项.tmux.conf
一直有效100%。
因此,这有点陈旧,但是值得一提的是,使用屏幕经常会破坏Home和End键。使用
export TERM="xterm-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页面和此区块光标问题的答案
tmux
别名。
set t_Co=256
到.vimrc中,它已修复。我不需要创建tmux
别名。
我已经尝试了上面的所有说明,但发现最重要的事情是必须在.bashrc文件中明确添加以下行。
export TERM=screen-256color
我不知道为什么别名tmux =“ TERM = screen-256color-bce tmux”无法解决。我使用的是Sierra 10.12.1。
如果任何人都需要24位颜色支持:
从2.2版开始,Tmux支持24位颜色。如果您的终端支持24位颜色,请将您的终端添加到终端覆盖设置中。例如,
set -ga terminal-overrides ",xterm-256color:Tc"
我的环境清单:
xterm-256color
)xterm-256color
来启用24位颜色.vimrc
)set -ga terminal-overrides ",xterm-256color:Tc"
到.tmux.conf
)我不需要添加.bashrc
或.zshrc
。
希望这会有所帮助。
由于这是在Google上的第一个结果,并且上述方法均无济于事。
在.vimrc
:
set background=dark
set t_Co=256
高温超导
$ tmux -2
?