环境:
Fedora 29 工作站 x86_64,GNOME 终端 3.30.1
VIM - Vi IMproved 8.1(2018 年 5 月 18 日,2019 年 3 月 8 日 09:25:44 编译)
GNU bash,版本 4.4.23(1)-release (x86_64-redhat-linux-gnu)
多路复用器 2.7
vim 正在使用日晒方案。
.vimrc
...
let g:solarized_termcolors=256
let g:solarized_termtrans=1
syntax enable
set background=dark
colorscheme solarized
...
bash 中的值$TERM
是:
[u@loc ~]$ echo $TERM
xterm-256color
[u@loc ~]$ tput colors
256
方法1:有效。
检查$TERM
tmux 会话中的值。得到
[u@loc ~]$ echo $TERM
screen
[u@loc ~]$ tput colors
8
所以,只需export TERM=screen-256color
在 tmux 会话中设置。此方法仅适用于会话的当前窗格。
方法2:有效。
创建~/.tmux.conf
文件并添加set -g default-terminal "tmux-256color"
到文件中。
或者只是运行echo "set -g default-terminal \"tmux-256color\"" > ~/.tmux.conf
然后杀死所有 tmux 会话。
启动一个新会话并检查$TERM
tmux 会话中的值。得到
[u@loc ~]$ echo $TERM
tmux-256color
[u@loc ~]$ tput colors
256
vim 彩色方案适用于所有窗格和所有 tmux 会话。
我也试过xterm-256color
并screen-256color
在~/.tmux.conf
. 它们都可以很好地为 vim 方案着色。
顺便说一句,我的~/.bash_profile
,~/.bashrc
和中没有与此设置相关的任何配置~/.vimrc
。
另请参阅https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-a-256-colour-terminal,https://github.com/tmux/tmux/wiki/FAQ#为什么你使用屏幕终端描述内部 tmux
其他有用的讨论是tmux #699 中的 Vim 颜色方案更改、256-color-support-for-vim-background-in-tmux、getting-256-colors-to-work-in-tmux、tmux-term-and-256 -颜色支持