使用 tmux 时,VIM 曝光配色方案看起来不对

use*_*541 4 vim tmux gnome-terminal

我正在尝试使用 gnome 终端(Ubuntu)在 VIM 中使用日晒配色方案。当我在没有 tmux 的情况下运行 vim 时,它看起来很棒,见下文:

在此处输入图片说明

如果我将以下命令添加到我的 .bashrc

# tmux configuration
tmux attach &> /dev/null

if [[ ! $TERM =~ screen ]]; then
    exec tmux
fi
Run Code Online (Sandbox Code Playgroud)

并用 tmux 启动终端,颜色看起来不对,见下图:

在此处输入图片说明

这是 .tmux.conf 文件的内容

source ~/.local/lib/python2.7/site-packages/powerline/bindings  /tmux/powerline.conf                    
set-option -g default-terminal "screen-256color"                                                                                                                                          
set-option -g history-limit 10000   
Run Code Online (Sandbox Code Playgroud)

我使用https://github.com/altercation/vim-colors-solarized作为 vim 配色方案,终端是:https://github.com/Anthony25/gnome-terminal-colors-solarized

编辑:使用 tmux:

~$ echo $TERM
screen
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

没有 tmux:

~$ echo $TERM
xterm
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Ing*_*kat 6

的值$TERM必须为screen-256color,以便 Vim 正确检测 256 色的可用性。(tmux重用 的终端定义screen,因为该工具实现了类似的多路复用。)

您需要为TERM内部 tmux 添加行设置正确的值

set-option -g default-terminal "screen-256color"
Run Code Online (Sandbox Code Playgroud)

~/.tmux.conf,或者力256在你的颜色~/.vimrc通过set t_Co=256(这是一种变通方法,并通过守卫最好if $TERM == 'screen',如果您还使用非高色端子)。