Vim颜色没有显示在tmux中

问题描述 投票:1回答:1

我现在还没能在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

vi tmux
1个回答
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"
© www.soinside.com 2019 - 2024. All rights reserved.