tmux 中的 Vim 无法正确确定背景颜色

use*_*976 6 vim terminal tmux

我从 xfce4-terminal 通过 SSH 连接到服务器。

当我在 tmux 之外打开 vim 时,vim 中的颜色非常亮(这很好): vim 中的亮色

当我使用默认配置启动 tmux 并从那里打开 vim 时,它显示正常颜色(t_Co=8):
vim 中的正常颜色

但是,如果我设置default-terminal为“任何-256colors”(或开始tmux使用-2),并从TMUX启动Vim,有些颜色非常暗淡:
vim 中的暗淡颜色

Vim 确实认识到这是一个 256 色的终端,因为 t_Co 被设置为 256。

我发现进入 :set background=dark在 vim修复颜色方案,但是,这不是正确的修复方法,因为这只会颠倒问题(即它会导致 vim 在浅色背景的终端中使用明亮的颜色)。

如何让 vim 在 tmux 中正确确定背景颜色,而无需明确设置?


除了 tmux,$TERM等于xterm-256color.

.tmux.conf 包含:

set -g default-terminal "screen-256color"
Run Code Online (Sandbox Code Playgroud)

在 tmux 中,$TERMscreen-256color. 将终端类型更改为xterm-256color没有帮助。