Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么大多数vim配色方案在我使用时看起来不像屏幕截图那么漂亮?_Vim_Colors_Terminal_Schema - Fatal编程技术网

为什么大多数vim配色方案在我使用时看起来不像屏幕截图那么漂亮?

为什么大多数vim配色方案在我使用时看起来不像屏幕截图那么漂亮?,vim,colors,terminal,schema,Vim,Colors,Terminal,Schema,我已经下载了许多vim颜色模式并进行了试用,但其中许多看起来不像官方的屏幕截图 例如,vim自己的颜色模式-desert应该如下所示: 但是在我的vim中,很多颜色都不会显示,例如背景。 但有些颜色模式工作正常 为什么呢 在: 编辑->配置文件首选项->颜色,我从系统主题中选择使用颜色第一个屏幕截图是GVim,而不是终端Vim。当涉及到颜色支持时,终端非常有限。GVim可以使用全部RGB空间。许多配色方案设计为256色,这比标准的8色终端要好得多。要实现这一点,需要将$TERM设置为256色

我已经下载了许多vim颜色模式并进行了试用,但其中许多看起来不像官方的屏幕截图

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

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

但有些颜色模式工作正常

为什么呢

在:
编辑->配置文件首选项->颜色,我从系统主题中选择使用颜色

第一个屏幕截图是GVim,而不是终端Vim。当涉及到颜色支持时,终端非常有限。GVim可以使用全部RGB空间。

许多配色方案设计为256色,这比标准的8色终端要好得多。要实现这一点,需要将$TERM设置为256色终端,如xterm-256color

如果您有一个支持256色的终端,如果它是Gnome终端,请将$TERM设置为xterm-256color,并在vimrc中启用256色,如下所示:

if $TERM == "xterm-256color"
  set t_Co=256
endif
对于不同的终端仿真器,设置正确的$术语是非常重要的。快速测试这一点的最简单方法是

TERM=xterm-256color vim 

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

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

在*nix系统上,将$TERM环境变量设置为描述终端功能的terminfo条目的目的,包括支持的颜色数量是为了向将在终端内运行的应用程序宣传这些功能

换句话说,您首先设置此变量的原因是告诉Vim或mutt。。slrn。。埃琳克斯。。等嘿除其他外。。我支持256色,你知道吗

因此,在vimrc中添加bloat来测试$TERM的值以设置t_Co Vim变量的值是毫无意义的。Vim足够智能,可以从$TERM变量指向的terminfo条目中获取支持的颜色数。这就是为什么你把它放在第一位

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


在GNU/linux环境中的15种不同终端模拟上进行了尝试和测试

我也发现了这个问题,我正在运行256色版本的最终答案:。本质上,不要在你的.vimrc中弄乱t_Co,只要在你的.bashrc中放这一行即可:[[-n$DISPLAY&&$TERM=xterm]]&&export TERM=xterm-256color@版主:这个问题在编程网站上怎么会偏离主题?Vim是一个极其重要的生产力工具,就像tmux一样,当一起使用时,colorschemes在终端文本模式下正确运行的问题是非常相关的。证据是这个问题会在vim谷歌搜索的256色页面的第1页出现。关于这个有什么新闻吗?我为Terminal.app和vim安装了颜色主题$术语设置正确,t_Co自动设置为256,但颜色仍然不正确。将术语更改为xterm-256color修复了我与@tanky Woo相同的问题时的所有问题。这让我烦恼了多年!我终于找到了根本原因!我希望我早一点搜索这个主题。更彻底的答案:。基本上,不要在你的.vimrc中弄乱t_Co,只要把这一行放在你的.bashrc:[[-n$DISPLAY&&$TERM=xterm]]&&export TERM=xterm-256color弄乱t_Co很好,不要弄乱$TERM-它不仅仅是处理colorshow。。。做我不知道关于这个?那个链接真的很有用。谢谢接得好!你是100%正确的,当我第一次阅读这个问题时,我没有注意到:好的,很好,但是当我在默认的终端应用程序中运行vim时,我在Ubuntu 18.04上没有得到256色。