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

时间:2017-05-24 16:58:49

标签: vim colors themes syntax-highlighting iterm

iTerm等终端如何处理主题? 我的问题的背景是这样的; 我在vim中设置了一个主题,这改变了我的js代码中的语法高亮。当我在iTerm中更改主题时,vim中的颜色会发生变化! 我希望有一个更好的主意,这样我就可以控制这些设置,而不是为了碰巧碰巧碰巧有效的组合。 为什么更改终端主题会改变vim中的颜色?我该如何避免这种影响?

1 个答案:

答案 0 :(得分:1)

Vim将使用终端仿真器设置的所谓“ANSI”颜色来显示0-15范围内的任何颜色,这样每当您操作这些“ANSI”颜色时,这些颜色都会发生变化。这是基本原则;它是完全理智的,它没有任何关系。

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

  1. TERM设置为xterm-256color,然后选择专为256种颜色设计的colorscheme。

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

  2. 告诉Vim使用set termguicolors在终端中使用“GUI”颜色,并为GUI Vim选择一个很好的colorscheme。

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