highlight
文件中有几个.vimrc
命令。在Vim 7.3中,这些在Vim启动后立即生效。在更新到Vim 7.4之后,情况不再如此。 Vim最初使用其默认突出显示。当我通过执行.vimrc
再次加载source ~/.vimrc
时,突出显示了我想要的效果。您应该能够使用以下步骤来重现此问题:制作一份
.vimrc
文件的副本。用仅包含
~/.vimrc
行的文件替换highlight Type ctermfg=28 cterm=bold
。缓冲。 vim dummy.c
应该以常规字体显示,并以浅绿色显示,这不是我想要的。输入
int
。现在,int
应该以粗体显示并显示为深绿色。文章说您应该将:source ~/.vimrc
放在int
命令之后,但这没有什么区别。这适用于某些文件类型,但不适用于其他文件类型(C文件为示例)。此行为的原因是什么?如何在启动Vim时执行
highlight
命令,以使它们在整个Vim会话期间对所有缓冲区生效?#1 楼
这不是一个确定的答案,您的问题听起来像是542问题。显然,您可以通过编写自己的基本颜色方案来解决此问题,而不是将那些hi ...
语句直接写入.vimrc。评论
我认为是因为这个Vim问题;因此您的回答似乎确实是我问题的正确答案。
–沃尔夫冈·耶尔奇(Wolfgang Jeltsch)
16-10-25在12:48
#2 楼
实际上,您不应将自定义突出显示内容放在vimrc中,而应放在海关语法文件中。这些文件应位于
~/.vim/after/syntax/filetype.vim
中,其中filetype
是预期的文件类型。如果您最满意语法文件,但想添加一些命令,则可以按照以下步骤操作(取自:h mysyntaxfile-add
):创建一个在那里的目录称为“之后/语法”。对于Unix:
mkdir ~/.vim/after
mkdir ~/.vim/after/syntax
编写包含要使用的命令的Vim脚本。对于
示例,更改C语法的颜色:
highlight cComment ctermfg=Green guifg=Green
将该文件写入“之后/语法”目录中。使用
语法的名称,并添加“ .vim”。对于我们的C语法:
:w ~/.vim/after/syntax/c.vim
就这样。下次编辑C文件时,“注释”颜色将不同。您甚至不必重启Vim。
:h mysyntaxfile
是获取有关如何纠正自己的语法文件的信息的好地方。另请参阅Vimscript The Hard Way,这是有关此主题的几章。评论
如果我想更改所有文件类型的突出显示怎么办。例如,无论文件类型为何,我都希望注释的颜色为深蓝色。
–沃尔夫冈·耶尔奇(Wolfgang Jeltsch)
16-10-25在9:55
我或多或少地尝试了您建议的方法。我添加了一个文件.vimrc / highlighting.vim,创建了目录.vimrc / syntax / after,并添加了* filetype * .vim形式的几个符号链接,这些链接指向该目录的.vimrc / highlighting.vim。语法高亮仍然不起作用。
–沃尔夫冈·耶尔奇(Wolfgang Jeltsch)
16-10-25在10:11
@WolfgangJeltsch是的,我的帖子和文档说目录应该是〜/ .vim / after / syntax而不是〜/ .vimrc
–statox♦
16-10-25在10:50
没错但是,这只是我的评论中的错字。实际上,我在目录.vim中工作,语法高亮显示不起作用,可能是由于此错误542所致。
–沃尔夫冈·耶尔奇(Wolfgang Jeltsch)
16-10-27在15:19
语法中的文件应命名为应应用的文件类型,即C的语法文件应命名为c.vim。没有突出显示的文件类型,这就是〜/ .vim / after / syntax / highlighting.vim无法正常工作的原因。如果要在另一种文件类型中重用在一种文件类型中定义的突出显示,则可以使用前者:〜/ .vim / after / syntax / myotherfile.vim。正如statox指出的,所有这些都在:h mysyntaxfile中进行了解释
– Tae
20年4月20日9:00
#3 楼
对于它的价值,我在MacVim(8.1.950(155))中遇到了这个问题。在.vimrc中将colorscheme
放在高亮语句之后,为我修复了它。例如:highlight SpellCap guisp=Yellow
...
colorscheme evening
->
colorscheme evening
...
highlight SpellCap guisp=Yellow
评论
在MacVim 8.1上对我不起作用。
–鞋子
20/11/15在23:07
评论
听起来像是第542期是的,当在.vimrc的开头添加兼容集时,语法突出显示将按预期工作。因此,这似乎实际上就是这个错误。
我在高亮命令之前使用了autocmd ColorScheme *,它是错误报告中的一种解决方法。它仍然不起作用。 br
我现在正在编写自己的配色方案,显然也可以解决该错误。
克里斯蒂安,您可以只写评论作为答案吗?毕竟,这是解决我的问题的正确方法。还是有其他方法可以解决实际上揭示错误的问题?