當我在iTerm的命令行中運行vim時,語法突出顯示在本地似乎不起作用。iterm vim colorscheme無法正常工作
在vim中,例如,我安裝了一個很好的顏色配方,在MacVim中運行得非常好,但如果在iTerm中顯示的顏色相同,它會很好。
任何想法,我可以打開它?
這是我嘗試使用 http://www.vim.org/scripts/script.php?script_id=2340
當我在iTerm的命令行中運行vim時,語法突出顯示在本地似乎不起作用。iterm vim colorscheme無法正常工作
在vim中,例如,我安裝了一個很好的顏色配方,在MacVim中運行得非常好,但如果在iTerm中顯示的顏色相同,它會很好。
任何想法,我可以打開它?
這是我嘗試使用 http://www.vim.org/scripts/script.php?script_id=2340
那配色方案看起來像它只支持256色終端。如果Vim認爲你的終端只支持8種顏色,你將不會看到特定的配色方案。
您可以通過在Vim的檢查:
:echo &t_Co
如果返回8
,這可能是問題。嘗試在~/.vimrc
將它設置爲256,並看看是否有幫助:
let &t_Co=256
爲了將代碼在vim高亮顯示,嘗試啓用的語法插件的配色方案:
:syntax enable
在一個側面說明,許多計劃都爲gVim的/的MacVim製成,不一定在終端內部全部顯示。 – Sean 2010-09-22 02:20:10
將不帶引號的「syntax on」添加到.vimrc文件中以使其永久保存 – sarathprasath 2015-02-10 11:29:29
我有這個問題之前,以及一些相關的問題,所以我會總結我發現了什麼。
確保iTerm設置爲使用256色。在命令行嘗試$ echo $TERM
,如果您沒有看到xterm-256color
,請按照指示in this answer。
設置您的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
儘管在這之後所有的意見(和其他類似的)問題,我終於找到了我的麻煩我從什麼地方採取在網絡上的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中,它們屬於哪個位置),並且從此以後,所有內容都正常工作。
我會假定在iTerm中必須有一些設置,以允許256種顏色? – 2010-09-22 11:25:20
不錯的一個工作完美 – 2010-09-22 11:26:37
在10.6默認終端下不適用於我。它導致文本vim閃爍黑白。 – 2010-12-10 00:42:33