2

我刚刚为 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

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

那么,这些故障线路有什么问题呢?它们被其他东西覆盖了吗?

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

4

2 回答 2

3

应该可以工作,即使创建自己的配色方案而不是选择性地覆盖某些定义更清洁。我怀疑在您(可能由诸如 之类的事件触发)之后执行了某些操作,并且(重新)设置了颜色定义。的输出可能会有所帮助。.gvimrcGUIEnter:scriptnames

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

:autocmd GUIEnter,ColorScheme * highlight Comment guifg=#409040
...
于 2013-10-07T11:15:59.453 回答
0

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

可能发生的情况是您在 .vimrc 中设置了颜色方案,该文件在 gvimrc 之前调用。vimrc 的采购是第 3 步,因为 gvimrc 的采购是 init 的第 8 步。

如果是这种情况,则无法重新定义已定义的颜色组。如果你想重新定义一些东西,你必须首先使用例如禁用:

highlight Comment NONE            "remove the Comment highlight group
highlight Comment guifg=#409040   "redefine the Comment hightlight group
于 2013-10-07T11:12:13.893 回答