如何修复其他终端中的 vim 配色方案?

如何修复其他终端中的 vim 配色方案?

我现在面临的问题是我不喜欢 gnome-terminal。我尝试过 alacritty、konsole、st(目前正在使用),它们都有同样的问题 – 它们破坏了我的 vim 配色方案。我的意思是这样的:例子在此屏幕截图中,gnome-terminal 位于左侧,st 位于右侧。

我在用着相同的颜色配置文件在两个终端模拟器中,我都没有,.vimrc因为我很少在本地使用 vim。尽管在两个终端中使用的 vim 配色方案是默认配色方案,但 gnome-terminal 仍设法保持正确的颜色。

我尝试寻找解决此问题的方法,我发现的唯一方法是将变量指定$TERMxterm-256color,但这没有帮助。我注意到的另一件事是,当我强制 gnome-terminal 的 vim 使用默认配色方案时:colorscheme default,颜色与 st 的 vim 中的颜色相同。

最近发现最接近 gnome-terminal 的默认配色方案的是ron.

我实际上迷失了,不知道该怎么办。编辑没有意义,.vimrc因为我经常使用 ssh,但它不会有任何效果。这听起来不是一个大问题,但这些颜色很分散注意力。任何帮助将不胜感激,感谢所有阅读过本文的人。

一些命令输出:

-- 侏儒终端:

:colorscheme
default

echo $TERM
xterm-256color

- 英石:

:colorscheme
default

echo $TERM
xterm-256color

答案1

我遇到了同样的问题:支持颜色的终端以不同的方式呈现相同的主题,即使它们TERM是相同的(Xfce 终端和 Windows 终端)。我用以下方法修复了它:

set termguicolors

它告诉 VIM 使用 24 位颜色。由于您不使用 RC 文件,因此您可以像这样为命令设置别名。

alias vim='vim -c "colorscheme default" -c "set termguicolors"'

为了在通过 SSH 连接到另一个系统时保留我的别名,我个人使用

function s() {
  scp ~/.bashrc $1:/tmp/.bashrc_temp
  ssh -t $1 "bash --rcfile /tmp/.bashrc_temp ; rm /tmp/.bashrc_temp"
}

(我想人们可以简单地以.vimrc同样的方式复制。)

相关内容