2010-09-21 91 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