围绕这个问题有很多疑问,但这是因为变量太多。在我开始这项工作之前,我必须将许多网站的说明拼凑在一起。
首先,我无法在 gnome-terminal 中轻松设置 16 种日晒颜色定义(我手动/单击完成,只是意识到我没有得到正确的顺序/映射)。一旦我确定了这一点,我就继续前进......
然后我在 vim 中使用了日晒颜色,效果还不错,但是在某些突出显示中出现了一些奇怪的黑色背景。一旦我解决了这个问题,我就继续前进......
然后我意识到,一旦在 tmux 中运行,vim 就变得很奇怪。这引起了广泛的争论,但很少有答案(主要是关于设置TERM
)xterm-256colors
对我有用。我最终也解决了这个问题。
晒伤是一个非常好的调色板(尽管我将最暗的基色变暗并调亮了最亮的颜色,因为我更喜欢更高的对比度,并且发现 tmux 的“白色”在我的校准屏幕上太黄了 - 在典型的未校准笔记本电脑屏幕上可能很好,因为它们是通常太蓝了!),所以我发布这个问题及其答案来分享我的学习成果。
答案1
晒后会产生非常特定的颜色。你无法在标准 256 调色板中真正实现这些颜色。实现此目的的唯一方法是在终端模拟器中设置准确的颜色,然后应用程序认为它们只是使用标准 16 种颜色(8 + 8 亮色),但这些颜色已准确映射到 Solarized 调色板。
Gnome 终端没有提供非常简单的方法来导出/导入调色板或配置文件,但您可以使用以下 bash 脚本来完成此操作:
#!/bin/sh
DARK_BG='#000014141A1A'
# original: DARK_BG='#00002B2B3636'
LIGHTEST='#FFFFFBFBF0F0'
# original: LIGHTEST='#FDFDF6F6E3E3'
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/use_theme_background" --type bool false
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/use_theme_colors" --type bool false
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/palette" --type string "#070736364242:#D3D301010202:#858599990000:#B5B589890000:#26268B8BD2D2:#D3D336368282:#2A2AA1A19898:#EEEEE8E8D5D5:$DARK_BG:#CBCB4B4B1616:#58586E6E7575:#65657B7B8383:#838394949696:#6C6C7171C4C4:#9393A1A1A1A1:$LIGHTEST"
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/background_color" --type string "$DARK_BG"
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/foreground_color" --type string "#65657B7B8383"
铌。在这里,我覆盖了 Solarized 的最暗和最亮的颜色。如果您愿意,可以使用原件,如评论所示。
够好了。现在安装日光照射的 vim 颜色文件通过将该文件放入~.vim/colors/solarized.vim
.
现在您可以告诉 Vim 使用该配色方案colo solarized
。但这并不完全有效,我不得不告诉 Vim 使用 16 色调色板set t_Co=16
。我把这两件事都放进了我的~/.vimrc
档案里。
现在 vim 颜色可以工作,但如果它在 tmux 内运行则不行。
接下来的一点非常令人困惑。大多数建议都说将TERM
外部 tmux 设置为xterm-256colors
,但当我这样做时, tmux 甚至不会启动。这也让我感到困惑:solarized 不是说 256 调色板是一个糟糕的近似值吗?好吧,这很令人困惑,而且无论如何,它不起作用,所以我需要另一种前进的方式:
创建一个包含以下内容的文件/tmp/foo
:
xterm-16color|xterm with 16 colors,
colors#16, use=xterm,
然后安装这个sudo tic /tmp/foo
最后,别名tmux
如下:
alias tmux='TERMINFO=/usr/share/terminfo/x/xterm-16color TERM=xterm-16color tmux -2'
我现在得到确切地终端、vim 和 vim-inside-tmux 中的正确颜色。铌。该-2
选项告诉tmux
我们使用 256 调色板,这真的很令人困惑,因为环境变量似乎会告诉它否则......我真的不知道,而且我担心我真的不关心学习这个知识曲线,因为我现在有一个漂亮的彩色终端,可以正常工作。