vim - iTerm 中的主题在 vim 中改变颜色

标签 vim colors themes syntax-highlighting iterm

iTerm 等终端如何处理主题? 我的问题的背景是这样的; 我在 vim 中设置了一个主题,这改变了我的 js 代码中的语法突出显示。当我在 iTerm 中更改主题时,vim 中的颜色也会改变! 我想要一个更好的主意,这样我就可以控制这些设置,而不是仅仅满足于碰巧可行的组合。 为什么更改终端主题会改变 vim 中的颜色?如何避免这种影响?

最佳答案

Vim 将使用终端仿真器设置的所谓“ANSI”颜色来显示 0-15 范围内的任何颜色,因此只要您操纵这些“ANSI”颜色,这些颜色就会发生变化。这是基本原则;这是完全理智的,没有什么可做的。

如果您不希望 Vim 颜色继承自终端仿真器的调色板,则需要使用 0-15 范围之外的颜色。从那里,你基本上有两个解决方案......

  1. 将您的 TERM 设置为 xterm-256color 并选择专为 256 色设计的配色方案。

    正确设计的“256color”配色方案仅使用 16-255 范围内的颜色,因此它们不会受到终端模拟器调色板的任何更改的影响。

  2. 通过 set termguicolors 告诉 Vim 在终端中使用“GUI”颜色,并选择一个专为 GUI Vim 设计的漂亮颜色方案。

    您需要相当新的 Vim 和 iTerm 版本才能使用此方法,因此它不是很便携,但这对来说可能是也可能不是问题。

关于vim - iTerm 中的主题在 vim 中改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44164518/

相关文章:

c# - Wpf动画背景颜色

android - 更改日期选择器android下方日期选择器按钮的文本颜色

visual-studio-code - 在哪里可以找到用于语法突出显示的 tm-themes 的所有可能键的列表?

vim - vim启动时自动打开vimwiki

macos - Mac OS X 的复制和粘贴问题

java - 用圆圈填充 Jbutton

colors - 在 phpstorm 中,如何切换回默认颜色主题外观?

vim - 有没有办法将任意文本传递给Vim?

vim - 如何更改 Vim 状态行中用于空格的字符?

python - 如何具体更改 Sublime Python 注释颜色?