Vim颜色没有显示在tmux中

时间:2017-12-25 15:16:23

标签: vi tmux

我现在还没能在tmux中使用vim一周了。我将所有的dotfiles保存在Github(这里https://github.com/jordanjones98/dotfiles),当我拿到一台电脑时,我认为这将是一个简单的git pull,以及其他一些简单的设置。当我拉动并安装我的插件时,一切都在tmux之外工作,但不在里面。我正在使用vim 8.0和tmux 2.6。我在iTerm中使用了一个zsh shell。

值得注意的是,这个相同的配置在我的旧计算机上运行,​​并且可以在我当前的工作计算机上运行。我甚至从工作计算机上复制了iTerm配置,试图让它工作。

我尝试过的一些事情...... 正在运行tmux -2
正在运行TERM=screen-256color-bce tmux
在我的.tmux.conf中设置set -g default-terminal "screen-256color"
在我的iterm首选项中将“报告终端类型”设置为xterm-256color

我也尝试在常规mac终端中运行它,再次vim在tmux之外运行正常,但不在tmux内部运行。

我已经研究了好几天,但没有发现任何有效的东西。我知道我的.tmux.conf.vimrc文件正在tmux中加载,因为我的tmux中有插件和底栏。

我的dotfiles非常大。所以请在这里查看。 https://github.com/jordanjones98/dotfiles

1 个答案:

答案 0 :(得分:2)

我注意到你没有在~/.zshrc

中设置TERM

试试这个,

添加

export TERM="screen-256color"

到.zshrc

而不是bce条目 - 然后在开始新的tmux会话之前确保source ~/.zshrc

请注意。我正在使用osx所以我的tmux.conf使用set -g default-terminal "screen-256color",如果你在linux上它可能会有所不同。关键是我的export TERM中的.zshrc通常会解决此问题。

修改

我尝试了你的点文件,我想我重现了这个问题。问题随this ugly workaround而消失。在设置颜色方案之前,尝试将以下内容添加到第44行的〜/ .vimrc文件中:

let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"