2010-09-21 46 views

回答

77

那配色方案看起来像它只支持256色终端。如果Vim认为你的终端只支持8种颜色,你将不会看到特定的配色方案。

您可以通过在Vim的检查:

:echo &t_Co 

如果返回8,这可能是问题。尝试在~/.vimrc将它设置为256,并看看是否有帮助:

let &t_Co=256 
+0

我会假定在iTerm中必须有一些设置,以允许256种颜色? – 2010-09-22 11:25:20

+0

不错的一个工作完美 – 2010-09-22 11:26:37

+1

在10.6默认终端下不适用于我。它导致文本vim闪烁黑白。 – 2010-12-10 00:42:33

63

为了将代码在vim高亮显示,尝试启用的语法插件的配色方案:

:syntax enable 
+0

在一个侧面说明,许多计划都为gVim的/的MacVim制成,不一定在终端内部全部显示。 – Sean 2010-09-22 02:20:10

+4

将不带引号的“syntax on”添加到.vimrc文件中以使其永久保存 – sarathprasath 2015-02-10 11:29:29

11

我有这个问题之前,以及一些相关的问题,所以我会总结我发现了什么。

  1. 确保iTerm设置为使用256色。在命令行尝试$ echo $TERM,如果您没有看到xterm-256color,请按照指示in this answer

  2. 设置您的vimrc以处理其他终端。 Snow Leopard中的普通终端仅支持8种颜色,如果您尝试使用256色配色方案(在此情况下我没有设置),它将闪烁。下面是我有:

    " enable 256 colors in GNOME terminal (for my Ubuntu VM) 
    if $COLORTERM == 'gnome-terminal' 
        set t_Co=256 
    endif 
    
    " set your color scheme (replace wombat with whatever yours is called) 
    " if you're using a gvim or macvim, then your color scheme may have a version 
    " that uses more than 256 colors 
    if has("gui_running") 
        colorscheme wombat 
    elseif &t_Co == 256 
        colorscheme wombat256 
    endif 
    
    " turn on language specific syntax highlighting 
    syntax on 
    
3

尽管在这之后所有的意见(和其他类似的)问题,我终于找到了我的麻烦我从什么地方采取在网络上的vimrc遗忘的一部分多年前(因为它组织的很好),然后为了我自己的目的而进行了广泛的修改。

但问题区域是在我从未碰过的一小组设置中,在我开始的原始文件中。 .vimrc里的相关位是:

" GVIM- (here instead of .gvimrc) 
    if has('gui_running') 
      set guioptions-=T    " remove the toolbar 
      set lines=40     " 40 lines of text instead of 24, 
    else 
      set term=builtin_ansi  " Make arrow and other keys work 
    endif 

不出所料(回想起来),认为“设置项”行复位事情,所以,不管什么类型的终端在TERM环境变量的报告,你风与一个通用的8色ANSI终端。明确地在.vimrc中设置“term”可能是一个非常糟糕的主意,就像直接设置t_Co一样。

我删除了这整个块(并将gvim设置放到.gvimrc中,它们属于哪个位置),并且从此以后,所有内容都正常工作。

18

给那些还有问题的人。

的iTerm 2 - >设置 - >情景模式 - >颜色 - >最小对比度 - >最低

setup