我刚安装了适用于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上运行良好。
答案 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