在iTerm2中ssh'd用户的日晒色彩方案和调色板失真

时间:2013-03-07 04:05:17

标签: vim color-scheme tmux iterm ansi-term

我的设置包括vim,iTerm2,tmux和曝光的深色配色方案。我将深色曝光调色板加载到iTerm2中(修改了ansi颜色),并且不使用自述文件中提到的降级曝光颜色方案(即let g:solarized_termcolors=256)作为使用调色板的替代方法。一切看起来都很棒。

但是,我经常与同事远程配对。人们从iTerm2的其他实例和有时候的Terminal.app进入我的机器,并创建一个新的tmux会话,我的tmux会话作为他们的基本/父会话。在iTerm2的情况下,它们的设置不包括加载曝光的调色板(一个完全使用另一个调色板)并设置let g:solarized_termcolors=256以使用降级的曝光颜色方案。如果这就是他们想要的东西,那很好,但是当他们通过ssh / tmux连接到我时,颜色会丢失,而且常常被扭曲到难以理解的程度。

除了让每个人都使用相同的设置之外,是否有任何设置组合来解决这个问题?现在建议我使用降级的配色方案而不加载曝光的调色板,以便不修改ansi颜色。这确实有效,但让我失去了降级的曝光配色方案。而且我更喜欢非降解的曝光配色方案,我宁愿不采取这种方法。

1 个答案:

答案 0 :(得分:1)

在终端中使用时,Vim的曝光颜色方案默认为16种颜色,并且取决于终端仿真器的调色板,因为它使用“红色”,“黄色”......作为ctermfg和朋友的值。

如果你想要到处都是相同的颜色,你显然需要在任何地方都有相同的调色板,因为你的“红色”可能不是别人的“红色”。

我不知道作者在写作时吸了什么,但let g:solarized_termcolors=256与“默认”相比, 。默认情况下仅使用16种颜色的调色板(取决于我们已经看到的终端调色板),而此选项使其使用与终端无关的256色调色板。因为colorscheme不再依赖于终端仿真器的调色板,所以实际上“保证”颜色在终端仿真器和其他人的终端仿真器上看起来“好”和“相同”。

问题是终端仿真器及其终端仿真器必须支持256种颜色。所有今天的终端都可以,但默认设置通常为16种颜色。但是,通常很容易将256色支持“打开”。

但是这个选项只是Vim。您的提示或某些命令的输出或tmux的TUI 的输出颜色可能仍然对您的同事感到“失望”。

定制地狱设置的能力当然是Vim体验的一个重要方面。但定制是有代价的。你已经习惯了许多小事情而且可能会发生这种情况,面对一个截然不同的设置,好吧......你只是迷路了。或者,正如您所做的那样,您的设置会被定制为您的同事无法使用。

如果您和您的配对能够在设置上达成妥协,则对编程可以正常工作。显然,此设置可能不完全是你的他的,但你必须找到一个中间人,每个人都同意配对工作。因为您和您的对可能使用不同版本的tmux / vim,不同的shell或不同的终端仿真器,最安全的选择是使用最基本的设置。不幸的是,日晒过于脆弱,远远不够“基本”。