tmux 导致 vim color scheme 无法显示的问题

警告
本文最后更新于 2023-05-27,文中内容可能已过时。

遇到一个奇怪的现象,对于 vim 9 的配色方案 color-scheme,我在普通的终端是可以显示主题配置。但是一旦通过 tmux 启动,则会失效。查找原因,发现是 tmux 没有使用配置方案,导致这个问题出现。

修改 ~/.tmux.conf

1
set -g default-terminal "xterm-256color"

同时,还是无法显示,这需要使用参数

1
2
3
4
tmux -2

## 或者可以写一个 alias
alias tnew='tmux -2 -u new -s'

这个命令的作用在于

1
-2    Force tmux to assume the terminal supports 256 colours.  This is equivalent to -T 256.

我写了一个小脚本 rsyncx.to.colo.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash

if [ $# != 1 ]
then
    echo "usage: rsyncx.to.colo.sh <cololid>"
    exit 1
fi

## -----------------------
colo=$1
echo "sending to $colo"
## -----------------------

rsync -Parzvl  ./.vim  $colo:~/
rsync -Parzvl  ./vim9  $colo:~/

## tmux 会引发 vim color scheme 错误
## https://stackoverflow.com/questions/10158508/lose-vim-colorscheme-in-tmux-mode
ssh $colo "egrep '.*default-terminal.*xterm-256color.*' ~/.tmux.conf || echo -e 'set -g default-terminal \"xterm-256color\"' >> ~/.tmux.conf"

相关内容

william 支付宝支付宝
william 微信微信
0%