自定义配色方案在VIM中无法工作

19

这是我做的:

cp ~/.vim/colors/ir_black.vim /usr/share/vim/vim72/colors/

然后尝试打开一些代码并输入:colorscheme ir_black

它改变了一些颜色,但大多数文本随光标开始闪烁。 几乎所有其他自定义配色方案也会出现这种情况。有谁知道可能出了什么问题吗?

我在我的 .vimrc 文件中添加了 t_Co=256 ,但似乎没有帮助。

PS: 我正在使用 Mac OS X。


1
不知道 ir_black.vim 里面有什么,我觉得这个问题是无法回答的。 - JSBձոգչ
OSX上的终端不支持256种颜色。此外,您应该永远不要手动更改t_Co,它是从您的终端报告的功能派生出来的。 - Randy Morris
3个回答

35

将您的TERM设置为xterm-256color。如果仍然无法正常工作,请在iterm2邮件列表上跟进。


18
这是解决方案。太棒了。谢谢。为了让其他人更清晰地理解,请注意,在设置配色方案之前,打开你的 .vimrc 文件并在任意位置添加 "set term=xterm-256color"。 - Ethan
1
谢谢 :) +1 给“这是解决方案”。 - justin
这是解决方案。 - user2609980

17
编辑: 我找到了一个与您的问题完全相同的重复问题:这里。看起来这是iTerm默认不支持256种颜色的问题。
通常颜色方案和终端的问题在于终端通常只能显示256种颜色,而GUI颜色方案使用2^32种颜色。因此,在终端中某些颜色无法正确呈现。
有一个简单的测试可以检查:如果您启动GUI版本,则颜色方案是否正确呈现?
可能的解决方案如下:
1. 使用以下插件将您的颜色方案转换为256种颜色:CSApprox.vim
2. 选择其他颜色方案(通常在Vim.org上与终端兼容的颜色方案名称中包含“256”,例如“wombat256”)
3. 使用GUI版本,如MacVim或GVim
如果我没记错,颜色方案Zenburn在GUI和终端版本中都能正常工作。它比较暗,带有粉彩色调。
个人故事:在花费大量时间调整终端颜色方案以获取正确的呈现后,我切换到了GUI版本。只要您在本地工作,隐藏图标栏的GUI版本与终端版本实际上并没有太大区别。

抱歉让你等这么久,谢谢!我刚刚转换到 MacVim 本地工作,并配置了自己的颜色方案,使其在终端上运行。 :) - Bernardo Oliveira
只是一条评论:我安装了CSApprox.vim,现在尝试的每个配色方案都很好用。感谢你的建议! - smessing
+1 这就是解决我的问题的答案(即在终端中使用 colorscheme wombat(或者更确切地说 - colorscheme wombat256mod)。之前我被引诱安装 GUI 界面,检查 iTerm2 选项等等... - Piotr Migdal

2
默认的vim二进制文件在/usr/bin/中将无法与任何终端配合使用。你需要拥有一个支持GUI的版本——在vim命令模式下键入“echo has('gui')”进行检查。
因此,你唯一的选择是使用GUI版本(如MacVim等),或者使用Athena、GTK或X11与MacPorts编译它,但我建议不要选择后者,因为它会拉下大量依赖项。
我认为最好为需要语法高亮的严肃开发使用MacVim,并在终端中使用16色版本进行快速编辑。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接