为什么mvim会在启动时清除突出显示组?

时间:2012-07-24 02:06:01

标签: vim macvim

我最近开始使用vim-makegreen和mvim。

问题是红色/绿色条不适用于mvim。他们使用mvim -v(或其他控制台vim)。

经过进一步调查后,似乎突出显示的组被定义为:

hi GreenBar term=reverse ctermfg=white ctermbg=green guifg=white guibg=green
hi RedBar   term=reverse ctermfg=white ctermbg=red guifg=white guibg=red
make_green中的

在调用.gvimrc文件之前由mvim清除。在mvim开始之后,我得到了:

:hi RedBar
RedBar         xxx cleared    

:hi GreenBar
GreenBar         xxx cleared

有没有人对为什么mvim破坏高亮组有任何见解?到目前为止,我发现的唯一工作是在.gvimrc中再次重新定义它们。但这显然是一种痛苦。试着弄清楚我在这里是否遗漏了什么。

更新

我刚刚剥离了我的.vimrc并使用病原体我只将makegreen放在bundle dir中。结果是相同的行为。

我的.vimrc只有一行:

call pathogen#infect()

bundle目录只包含makegreen bundle。 autoload目录只有pathogen.vim。我删除了.gvimrc。

然后我启动mvim并执行:hi RedBar并得到与上面相同的结果。我使用echo语句来确认makegreen.vim的来源。

我用brew install macvim安装了mvim。 macvim的版本是7.3(64),我在OSX Lion上。

更新2

我只是更进了一步,取消了对病原体的依赖。现在我只在插件目录中有makegreen.vim和一个空的.vimrc文件。结果相同。

2 个答案:

答案 0 :(得分:1)

let macvim_skip_colorscheme=1添加到~/.vimrc。在全局gvimrc

中加载colorscheme之前,请先查看评论
" Load the MacVim color scheme.  This can be disabled by loading another color
" scheme with the :colorscheme command, or by adding the line
"   let macvim_skip_colorscheme=1
" to ~/.vimrc.
if !exists("macvim_skip_colorscheme") && !exists("colors_name")
    colorscheme macvim
endif

所有配色方案都清晰亮点。

答案 1 :(得分:0)

我遇到了同样的问题。 解决方法是在~/.vimrc(或python.vim等)中重新定义GreenBar和RedBar。