我正在尝试使用 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 色(这将是一种解决方法,如果您还使用非高色端子,最好加以保护)。~/.vimrc
set t_Co=256
if $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 "$@"