我正在运行iterm2,当我处于tmux模式时,我在vim中设置的colorscheme没有出现。只有我在iterm中设置的配色方案。如果我从shell运行vim,colorscheme看起来是正确的 - 只有在我处于tmux模式时才会这样。
我在vim中尝试设置:colorscheme molokai
(见下面的截图)并且它没有改变 - 再次,iterm2的默认colorscheme仍然存在。
我错过了iterm或tmux.conf的设置吗?我的dotfles在这里上了github。
答案 0 :(得分:241)
我遇到了同样的问题。唯一的区别是我使用solarize
而不是molokai
。
要解决此问题,我已在~/.bashrc
中设置了别名:
alias tmux="TERM=screen-256color-bce tmux"
并在default-terminal
中设置~/.tmux.conf
选项:
set -g default-terminal "xterm"
最后,请$ source ~/.bashrc
加载新别名。
答案 1 :(得分:69)
正如@romainl上面提到的,我需要通过添加-2
标志来强制tmux使用256种颜色:
$ tmux -2
我在我的bash_profile中添加了alias tmux='tmux -2'
,所以,我不会忘记:)
答案 2 :(得分:62)
我尝试了上面的所有解决方案,最终对我有用的是在.tmux.conf
中添加以下几行:
set -g default-terminal "xterm-256color"
答案 3 :(得分:26)
我刚刚发现为什么我有很多困惑。我和其他人一样,很难让默认终端设置生效。我记得我在后台有一个tmux会话。我重新连接了我的会话,关闭了我的进程,并关闭了所有tmux进程。下次重新启动tmux时,.tmux.conf
中的default-terminal设置开始生效。我不知道其他人是否也这样做但我建议在修改.tmux.conf
文件之前关闭所有tmux进程。
我的设置在本地计算机上运行(OSX 10.9.5与iTerm2),而不对.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
来测试Vim看到的内容。在我重新启动所有tmux进程之前,它一直说screen
为值,此时它按预期反映xterm-256color
。
希望有所帮助。
答案 4 :(得分:19)
所以这有点陈旧,但可能值得一提的是,使用屏幕通常会破坏Home和End键。使用
export TERM="xterm-256color"
in应该保留这些功能并允许配色方案(或电力线)正常工作。
答案 5 :(得分:14)
我需要vim在ubuntu上的终端和windows上的cygwin / mintty中正确显示tmux。通过结合这样的答案我得到了它。
在.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
答案 6 :(得分:10)
我已经尝试了上面的所有说明,我发现最重要的是我必须在.bashrc文件中明确添加以下行。
export TERM=screen-256color
我不知道为什么别名tmux =" TERM = screen-256color-bce tmux"没有成功。 我使用Sierra 10.12.1。
答案 7 :(得分:9)
如果有人需要24位颜色支持:
从版本2.2开始,Tmux支持24位颜色。如果终端支持24位颜色,请将终端添加到终端覆盖设置。例如,
set -ga terminal-overrides ",xterm-256color:Tc"
我的环境清单:
xterm-256color
)xterm-256color
添加到.vimrc
启用24位颜色)set -ga terminal-overrides ",xterm-256color:Tc"
添加到.tmux.conf
)我无需在.bashrc
或.zshrc
添加任何其他内容。
希望这可以提供帮助。
答案 8 :(得分:5)
由于这是Google上的第一个结果,因为以上都没有帮助...想要发布此内容以便有人可能会发现它有用
.vimrc
中的:
set background=dark
set t_Co=256
HTH
答案 9 :(得分:4)
在.tmux.conf中添加以下行为macOS Sierra 10.12.6,
工作set -g default-terminal“screen-256color”
答案 10 :(得分:3)
如果您使用Logger.i("Info", "my sample log");
或tmuxinator
,则需要在mux
或.bashrc
中添加这些内容:
.zshrc
这些力量在终端中使用256色。
然后alias tmux='TERM=screen-256color tmux -2'
alias tmuxinator='TERM=screen-256color tmuxinator'
alias mux='TERM=screen-256color mux'
,tmux
和tmuxinator
命令都会有效。
答案 11 :(得分:2)
如果你发现自己和我一样,那以上都没有用......试试这个:
.tmux.conf
中的:
set -g default-terminal "xterm"
bash配置中的(可能是.bashrc
或.bash_profile
):
alias tmux="tmux -2"
然后运行:
killall tmux
然后重新启动tmux
答案 12 :(得分:2)
为了在Ubuntu和Mac中设置正确的颜色并摆脱渲染问题:
答案 13 :(得分:1)
在tmux手册页中,添加如下标记:
tmux -2
此-2
标志强制tmux在256色模式下运行。
这对我有用
答案 14 :(得分:1)
我尝试在TERM
中导出其他.tmux.conf
或设置默认终端时运气不佳。
我在tmux中修复vim颜色的解决方案是将此行添加到.tmux.conf
:
set -g terminal-overrides 'xterm:colors=88'
我不确定为什么这个覆盖是必要的,因为我的TERM=xterm
和iTerm也设置为xterm,但它似乎有效。
答案 15 :(得分:1)
我正在使用Ubuntu bionic 18.04.4 LTS和tmux 2.6。 我有同样的问题,只需将其添加到.bashrc
即可解决export TERM=screen-256color
当然不要忘了来源。
source ~/.bashrc
或者只是重新启动终端
答案 16 :(得分:0)
只是不得不处理这个问题,虽然以前发布的所有答案都有帮助,但在我的案例中他们没有解决问题。
我的问题是通过删除 .vimrc
中的以下行修复的:
set termguicolors
无论如何都是另一条指令。
现在,我的.tmux.conf
中的以前的anwsers中找到了以下行:
export TERM="screen-256color"
一切都很美好。
答案 17 :(得分:0)
我已经删除了行set termguicolors
,但这行不通。
在set notermguicolors
中设置.vimrc
即可。
答案 18 :(得分:0)
在我的.tmux.conf中使用这两行对我有用,我正在将Ubuntu 20.04与Alacritty一起使用。
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",alacritty:RGB"
在YodaEmbedding提供的评论中找到了有关失职回购的问题:
答案 19 :(得分:0)
我正在使用gnome终端,这解决了问题,但是(0)别忘了:
t.testRun.errs
(1)编辑.tmux.conf
killall tmux
(2)编辑:.vimrc
# 24 bit color
set -g default-terminal "tmux-256color"
set -ga terminal-overrides ",*256col*:Tc"
rinetd在tmux回购问题上发布的解决方案: https://github.com/tmux/tmux/issues/1246
答案 20 :(得分:0)
假设您已经有与终端匹配的 vim 颜色:
杀死所有运行 tmux kill-server
为 ~/.tmux.conf
中的 tmux 创建用户配置文件
将以下几行添加到 .tmux.conf
中:
set -g default-terminal "tmux-256color"
set -ga terminal-overrides ",xterm-termite:Tc"
在命令行中运行 echo $TERM
用xterm-termite
返回的输出替换echo $TERM