如何在vim中更改语法高亮颜色?

53

我打开了语法高亮,但注释显示为深蓝色。在黑色终端上很难阅读。如何将其更改为绿色呢?

7个回答

86

可能你只需要告诉vim你使用的是暗色背景:

:set background=dark

这应该会将高亮显示更改为更易读的内容。


在这种情况下,这并不重要,因为我正在使用无头服务器工作,但是未来了解这一点很好。 - unholysampler
将此放入Windows的命令模式中,没有任何变化。我也尝试将其放入我的“_vimrc”中。 - Ungeheuer
这并没有回答问题。 - felwithe
这是一个很好的答案,但每次退出vim时都会重置。因此,您还应将此行(不带“:”)添加到“/etc/vim/vimrc”中。 - Michael Currie
要使其永久生效,请像这样将其写入 .vimrc 文件:echo ':set background=dark' >> ~/.vimrc,还有 echo 'syntax on' >> ~/.vimrc。评论灵感来自于链接 - mggluscevic

15

请看syncolor.vim。您可以在/usr/share/vim/vim{version}/syntax/中找到它。

摘录:

" There are two sets of defaults: for a dark and a light background.
if &background == "dark"
  SynColor Comment  term=bold cterm=NONE ctermfg=Cyan ctermbg=NONE gui=NONE guifg=#80a0ff guibg=NONE
  SynColor Constant term=underline cterm=NONE ctermfg=Magenta ctermbg=NONE gui=NONE guifg=#ffa0a0 guibg=NONE
  SynColor Special  term=bold cterm=NONE ctermfg=LightRed ctermbg=NONE gui=NONE guifg=Orange guibg=NONE

第一个SynColor行似乎很有意思。我不确定您是否可以覆盖它,而不是更改此文件。


我认为这是因为它会影响所有用户。为了使其工作,您需要更改浅色背景版本,这可能会对使用浅色背景的用户造成问题。不过,对我来说这是最好的答案。 :-) - MikeKulls
+1 重新点赞。如果踩的是“所有用户”,那么该投票者在Linux方面应该得到-1。/usr/blah-anything 应立即提示普通用户它是全局的。 - Krista K
还有其他人认为上面的评论是矛盾的吗? - Karmavil
@ChrisK 你的观点是什么?... 推断(或不推断)它对所有用户都有影响并不会阻止它产生影响。如果他认为应该按用户处理而不是全局处理,那么这是一个完全有效的论点。(无论我是否同意) - Karmavil
这个方法是可行的,但有没有办法将其添加到.vimrc中,以便它成为正确的解决方案?我尝试过了,但它给了我“E416:缺少等号”的错误提示。我也尝试在前面加上hi,就像其他答案中所示。但是似乎什么都不起作用。 - felwithe

12
如果您想改变注释的颜色而不改变背景,可以使用 highlight 命令。例如,:hi Comment term=bold ctermfg=Cyan guifg=#80a0ff gui=bold。有关 :highlight 的更多信息请查看Vim 文档。请注意,保留了 HTML 标签。

这对于Python对我不起作用,但对其他文件有效。 - John Salvatier

1

1

最好的方法是将颜色方案更改为另一个(较浅的):

在导航模式下键入:

:colorscheme space Ctl+D

然后输入方案名称 Enter


这个答案实际上调整了语法高亮规则。被接受的答案不足以修复深色评论。你还必须设置颜色方案,如此处所述。 - EdwardTeach

0

对于那些使用 Google 的人们。 https://vimdoc.sourceforge.net/htmldoc/syntax.html

您可以根据语法文件更改突出显示,例如在 javascript.vimpython.vim 语法文件中。

例如将“注释”更改为绿色。您可以在相应的语法文件中的任何位置添加此行。

hi Comment      term=NONE cterm=NONE ctermfg=GREEN ctermbg=NONE gui=NONE guifg=NONE guibg=NONE

而且您可以为其他类别(如“String”)执行此操作

hi String       term=NONE cterm=NONE ctermfg=MAGENTA ctermbg=NONE gui=NONE guifg=NONE guibg=NONE

0

您可以将colorsheme设置为desert。在Ubuntu 16.04中默认设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接