使用 tmux 时 VIM 日晒配色方案看起来错误

使用 tmux 时 VIM 日晒配色方案看起来错误

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

在此输入图像描述

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

# tmux configuration
tmux attach &> /dev/null

if [[ ! $TERM =~ screen ]]; then
    exec tmux
fi

然后用 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   

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

编辑:使用 tmux:

~$ echo $TERM
screen

在此输入图像描述

没有 tmux:

~$ echo $TERM
xterm

在此输入图像描述

答案1

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

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

set-option -g default-terminal "screen-256color"

或在您的过孔中强~/.tmux.conf制使用 256 色(这将是一种解决方法,如果您还使用非高色端子,最好加以保护)。~/.vimrcset t_Co=256if $TERM == 'screen'

答案2

问题是 tmux 版本 1.8。我使用了这里的建议:

https://stackoverflow.com/questions/25940944/ugrade-tmux-from-1-8-to-1-9-on-ubuntu-14-04

将tmux升级到1.9a版本,问题就消失了。

答案3

尝试 tmux -2,-2 表示强制 tmux 假定终端支持 256 色。我创建了一个别名,以便 tmux 始终以这种方式启动。

答案4

维姆

~/.vimrc:

set t_Co=256
colorscheme <name>

多路复用器

~/.tmux.conf:

set -g default-terminal "screen-256color"

完成之前的更改后,您应该将工作流程调整为以下选项之一:

选项#1:始终使用参数启动 tmux -2

tmux -2

选项#2:在 shell 配置文件中设置别名 ( ~/.bashrc, ~/.zshrc):

alias tmux="tmux -2"

选项#3:创建一个tmux脚本/usr/local/bin/tmux并确保/usr/local/bin/位于/usr/bin您的$PATH

#!/bin/sh
/usr/bin/tmux -2 "$@"

相关内容