终端,zsh和vim中的配色方案交互

时间:2015-02-20 07:14:51

标签: vim terminal zsh color-scheme

我注意到.zshrc中的颜色方案设置不会影响终端窗口的背景颜色,因此我决定为OSX终端加载单独的预设颜色方案。作为回报,这改变了.zshrc颜色方案之前的样子。 Vim也有自己的颜色方案,似乎受到OSX终端的影响。

我很好奇是否有任何通用方法来改变所有三方的配色方案。如果没有,请帮助我理解 OSX终端 vim zsh

中颜色方案的相互作用

1 个答案:

答案 0 :(得分:3)

<强>终端

Terminal.app允许您在其首选项中更改其默认调色板。这些颜色由shell和您在其中运行的程序引用,使用标准名称(如“blue”)或0到15之间的数字。更改终端模拟器的调色板显然会改变shell的外观以及在其中运行的程序

<强> ZSH

某些zsh主题使用xterm调色板中的颜色编号(16-255)。可以改变那个调色板,但这种做法并不常见,我没有听说过这样做的zsh主题(这并不意味着它不存在于野外)所以假设那些颜色是相对安全的各终端都是一样的。您对终端仿真器的默认ANSI调色板的更改不应影响此类主题。

另一方面,一些zsh主题使用标准颜色名称,如“绿色”或“红色”,它们对应于终端仿真器首选项中定义的16种ANSI颜色。由于您更改了这些颜色,因此期望您的zsh主题看起来不同是合乎逻辑的。

<强>的Vim

写得好的Vim colorschemes通常能够在8/16色环境或256色环境中工作。要使用的颜色代码集由终端仿真器TERM中的Vim确定:

TERM               colors

xterm                8
screen               8
xterm-256color     256
screen-256color    256

在8/16色环境中使用256色ready readymeme将无法正常工作,因为只能正确使用数字0到15。

在256色环境中使用256色准备好的colorscheme可能会提供一致的体验,并且不受默认ANSI调色板中的更改的影响。

无论使用256色环境还是8/16环境,使用8色准备色系都可能会产生相同的效果。但是,这些colorschemes完全依赖于默认的ANSI颜色,因此如果更改终端仿真器的设置,它们的外观会有所不同。

<强>结论吗

鉴于以下内容:

  • 您的zsh主题仅使用标准ANSI名称
  • 您的TERM设置为8/16颜色值
  • 你的Vim colorscheme准备好8/16色,

你应该能够通过调整Terminal.app首选项中的ANSI调色板来实现一致的外观和感觉。