1

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

但是,我经常与同事远程配对。人们从 iTerm2 的其他实例(有时是 Terminal.app)通过 ssh 进入我的机器,并以我的 tmux 会话作为他们的基础/父会话创建一个新的 tmux 会话。在 iTerm2 的情况下,他们的设置不包括加载日晒调色板(一个完全使用另一个调色板)和设置let g:solarized_termcolors=256使用退化的日晒配色方案。如果这就是他们想要的,那就太好了,但是当他们通过 ssh/tmux 连接到我时,颜色会丢失,并且经常会失真到难以辨认的程度。

除了让每个人都使用相同的设置之外,是否有任何设置组合来解决这个问题?现在建议我使用降级的配色方案,而不是加载日晒调色板,这样 ansi 颜色就不会被修改。这确实有效,但给我留下了退化的日晒配色方案。因为我更喜欢非退化的日晒配色方案,所以我不想采用这种方法。

4

1 回答 1

1

在终端中使用时,Vim 的日光化色彩方案默认为 16 种颜色,并且取决于终端模拟器的调色板,因为它使用“红色”、“黄色”……作为ctermfg和朋友的值。

如果您希望到处都使用相同的颜色,那么您显然需要到处使用相同的调色板,因为您的“红色”可能不是其他人的“红色”。

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

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

但是这个选项是 Vim-only。您的提示或某些命令的输出或tmuxTUI的颜色可能仍然让您的同事感到“不正常”。

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

只有当您和您的配对能够在设置上达成妥协时,配对编程才能工作。显然,这个设置可能不完全是他的,但你必须找到一个每个人都同意配对工作的中间立场。因为您和您的搭档可能使用不同版本的 tmux/vim、不同的 shell 或不同的终端仿真器,所以最安全的选择是尽可能使用最基本的设置。对你来说不幸的是,solarized 太脆弱了,远远不够“基本”。

于 2013-03-07T07:18:54.943 回答