Vim tmux 中没有显示颜色

Vim colors not showing in tmux

我已经有大约一个星期无法在 tmux 中使用 vim 了。我将我所有的点文件保存在 Github 中(这里是 https://github.com/jordanjones98/dotfiles),当我得到一台计算机时,我认为这将是一个简单的 git 拉动,以及其他一些简单的设置。当我拉动并安装我的插件时,一切都在 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" 在我的项目首选项中将 "report terminal type" 设置为 xterm-256color

我也曾在常规 mac 终端中尝试过 运行 并且再次 vim 在 tmux 之外运行良好,但在 tmux 内部却不行。

我已经对此进行了几天的研究,但没有发现任何有效的方法。我确实知道我的 .tmux.conf.vimrc 文件正在加载到 tmux 中,因为插件和我的 tmux 中的底部栏。

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

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

中设置 TERM

试试这个,

添加

export TERM="screen-256color"

到 .zshrc

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

注意。我使用的是 osx,所以我的 tmux.conf 使用的是 set -g default-terminal "screen-256color",如果您使用的是 linux,它可能会有所不同。关键是这个问题通常在我的 .zshrc.

中用 export TERM 解决

编辑

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

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