Check your color

1
2
3
4
5
curl -s https://gist.githubusercontent.com/HaleTom/89ffe32783f89f403bba96bd7bcd1263/raw/e50a28ec54188d2413518788de6c6367ffcea4f7/print256colours.sh | bash

curl -s https://gitlab.gnome.org/GNOME/vte/raw/vte-0-38/perf/256test.sh | bash

curl -s https://raw.githubusercontent.com/JohnMorales/dotfiles/master/colors/24-bit-color.sh | bash

tmux外面的shell是支持的,但是tmux里面没有,导致我的vim主题颜色显示不全
在tmux里面检查一下TERM

1
echo $TERM

我的显示的是screen,应该是screen-256color or xterm-256color

.tmux.conf添加

1
set -g default-terminal "screen-256color" # or "xterm-256color", depending on $TERM outside

然后再进tmux$TMUX内容变了,但是颜色还是不对,到这里网上大部分solution就结束了

最后没办法只能trick一下,tmux 加上-2参数支持256color,source code here

设置alias

1
alias tmux='tmux -2'

到这还是不行,

1
curl -s https://raw.githubusercontent.com/JohnMorales/dotfiles/master/colors/24-bit-color.sh | bash

这行打印出来的颜色是不连续的,只支持256色不够

最后找到这个答案solution on stackoverflow

.tmux.conf设置terminal-overrides,不要default-terminal

1
set-option -g terminal-overrides ",xterm*:Tc"

然后在tmux内打出来连续的色条,完美!

完美解决