部分不考虑gvimrc(Windows 7)

时间:2013-10-07 10:52:48

标签: vim

我刚安装了适用于Windows的GVim 7.4版。 我还创建了一个包含以下内容的gvimrc文件:

set tabstop=2         " Set the tabstop to 2 spaces
set shiftwidth=2      " Shiftwidth should match tabstop
set expandtab         " Convert tabs to <tabstop> number of spaces
set smartindent       " Let vim help you with your code indention
highlight Comment guifg=#409040
highlight SpecialComment guifg=#409040
highlight String  guifg=Blue
highlight ColorColumn guibg=LightGray
set colorcolumn=81
set tw=0

考虑了一些问题。 例如:set tabstop=2

不考虑其他行。 例如:,highlight Comment guifg=#409040

如果我稍后使用:so $MYGVIMRC运行gvimrc文件,则会考虑所有行。

那么,这些错误的线路有什么问题? 它们被其他东西覆盖了吗?

注意:此gvimrc文件在Ubuntu和Mac上运行良好。

2 个答案:

答案 0 :(得分:3)

工作,即使创建自己的colorscheme更清晰,而不是仅选择性地覆盖某些定义。我怀疑在你的.gvimrc之后执行了(可能由诸如GUIEnter之类的事件触发),并且(重新)设置了颜色定义。 :scriptnames的输出可能有所帮助。

如果找不到根本原因,并且不想编写自己的colors/myscheme.vim文件,请尝试

:autocmd GUIEnter,ColorScheme * highlight Comment guifg=#409040
...

答案 1 :(得分:0)

请参阅:help initialization以获取完整初始化过程的视图,它可以帮助您解决问题。

可能发生的是你在.vimrc中设置你的colorscheme,这是在gvimrc之前调用的。 vimrc的源代码是第3步,因为gvimrc的源代码是init的第8步。

如果是这种情况,则无法重新定义已定义的颜色组。如果要在运行中重新定义某些内容,则必须先使用例如:

进行禁用
highlight Comment NONE            "remove the Comment highlight group
highlight Comment guifg=#409040   "redefine the Comment hightlight group