为啥大多数 vim 配色方案在我使用它们时看起来不像屏幕截图那样漂亮? [关闭]

Posted

技术标签:

【中文标题】为啥大多数 vim 配色方案在我使用它们时看起来不像屏幕截图那样漂亮? [关闭]【英文标题】:Why don't most vim color schemes look as nice as the screenshot when I use them? [closed]为什么大多数 vim 配色方案在我使用它们时看起来不像屏幕截图那样漂亮? [关闭] 【发布时间】:2012-04-07 15:02:54 【问题描述】:

我已经下载了很多vim颜色模式并尝试了,但其中很多看起来不像官方截图。

例如,vim 自己的颜色模式 - desert 应该如下所示:

但在我的 vim 中,很多颜色都不会显示,例如背景。

但有些颜色模式可以正常工作。

这是为什么呢?

在: Edit-> Profile Preferences -> Colors,我选择“使用系统主题中的颜色”

【问题讨论】:

我也发现了这个问题,我正在运行终端的256色版本 我找到的最佳答案:***.com/a/15378816/357774。本质上,不要在你的 .vimrc 中使用 t_Co,只要在你的 .bashrc 中加入这一行:[[ -n "$DISPLAY" && "$TERM" = "xterm" ]] && export TERM=xterm-256color @moderators:这个问题在编程网站上是怎么跑题的? Vim 是一个极其重要的生产力工具,tmux 也是如此,当一起使用时,颜色方案在终端文本模式下正确运行的问题非常相关。证据是这个问题出现在“vim 中的 256 种颜色”谷歌搜索的第 1 页上。 这个有什么消息吗?我为 Terminal.app 和 vim 都安装了颜色主题。 $TERM 设置正确,t_Co 自动设置为 256,但是颜色还是坏了。 【参考方案1】:

许多颜色方案是为 256 色设计的,这明显优于标准的 8 色终端。要做到这一点,您需要将 $TERM 设置为像 xterm-256color 这样的 256 色终端。

如果你有一个支持 256 色的终端(如果那是 Gnome 终端,看起来就像你在屏幕截图中所做的那样),将 $TERM 设置为 xterm-256color 并在你的 vimrc 中启用 256 色,如下所示:

if $TERM == "xterm-256color"
  set t_Co=256
endif

Vim wiki has some tips 为不同的终端仿真器设置正确的$TERM。快速测试这一点的最简单方法是这样做

TERM=xterm-256color vim 

这不会使为 GUI vim 设计的配色方案与终端 Vim 完全兼容,但会使 256 色配色方案工作,这是对标准 8 色配色方案的巨大改进。

【讨论】:

当我遇到与@tanky-woo 相同的问题时,将我的术语更改为 xterm-256color 解决了我的所有问题 这让我恼火多年!终于找到了根本原因!我希望我早点搜索过这个主题。 更彻底的答案:***.com/a/15378816/357774。本质上,不要在 .vimrc 中与 t_Co 混淆,只需将这一行放入 .bashrc 中即可:[[ -n "$DISPLAY" && "$TERM" = "xterm" ]] && export TERM=xterm-256color t_Co 混淆很好,不要与$TERM 混淆 - 它不仅仅是处理颜色 怎么……我……不……知道……关于……这个?【参考方案2】:

在 *nix 系统上,将 $TERM 环境变量设置为描述终端功能的 terminfo 条目的非常目的包括支持的颜色数量将这些功能通告给将在您的终端内运行的应用程序。

换句话说,您首先设置此变量的原因是告诉 Vim(或 mutt.. slrn.. ELinks.. 等).. 嘿.. 除其他外.. 我支持 256 色,你知道吗..?

因此,没有任何意义将膨胀添加到您的 vimrc 以测试 $TERM 的值以设置 t_Co Vim 变量的值。 Vim 足够聪明,可以从 $TERM 变量指向的 terminfo 条目中获取支持的颜色数量。这就是你一开始就设置它的原因..!

在这方面,终端/控制台 Vim 只是遵循 *nix 模型,并从 terminfo 条目确定终端的功能,并自动设置 t_Co 变量的内容。

在 GNU/linux 环境中对 15 种不同的终端仿真进行了尝试和测试。

【讨论】:

好的,但是当我在默认终端应用程序中运行 vim 时,我在 Ubuntu 18.04 上没有获得 256 色。【参考方案3】:

第一个截图是 GVim,不是终端 Vim。终端在颜色支持方面非常有限。而且 GVim 可以使用完整的 RGB 空间。

【讨论】:

不错的收获!您是 100% 正确的,我在第一次阅读问题时没有注意到 :)【参考方案4】:

这里的其他答案都很好;我还发现 this page 对于调整和理解 vim 颜色环境的原因和方式非常有用。

【讨论】:

那个链接真的很有用。谢谢!

以上是关于为啥大多数 vim 配色方案在我使用它们时看起来不像屏幕截图那样漂亮? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

vim注释颜色更改

E185:找不到日晒的配色方案

vim配色方案设置(更换vim配色方案)

UoW中修改VIM的配色方案

vimrc 配色方案不改变背景

配置使用vim编辑Nginx配置文件时语法高亮