Due to various reasons, I run Vim at sixteen-colors, synced w/ my terminal's colors. In a recent Vim update, I've had to rework my "~/.vimrc" completely to get it back into running order on Linux.
Initially I was shocked to find that this simple line did not work (even w/ "syntax on" preceding it):
:highlight Comment ctermfg=White
I'm also using a "LineNr" ctermfg. No matter where I placed/stacked the "Comment" ctermfg, it didn't work, or interfered w/ everything else sourcing correctly (ie, placed in the same line w/ "LineNr"). However, I found that calling "Comment" after a buffer had loaded would make the comments appear as intended.
I am new to autocmd in Vim (and want to know how it works, anyways). Is there an "autocmd" call that I can have in my "~/.vimrc" that will run the aforementioned line of code immediately after a buffer has loaded?
I have tried several iterations (BufWritePre, BufWritePost, etc.) and been unsuccessful. This was my previous attempt:
autocmd BufWinPost * :highlight Comment ctermfg=white
Don't resort to
:autocmdwithout reason; search harder for the root cause!Your description lacks specifics; I guess your chosen colorscheme (or a plugin, but no sane plugin should interfere with the default highlightings) overrides your custom one for
Comment. You can check who defined this viaIf this points to your colorscheme, you simply need to execute your
:highlightcommand after it. For this, you need to understand:help initialization, and maybe check the output of:scriptnames. If you have a:colorscheme foocommand in your~/.vimrc, it should be as simple as putting the:highlightcommand after it.You do need an
:autocmdif you switch colorschemes on the fly, as most colorschemes override the basicCommentdefinition. The correct event and pattern for that would beColorScheme *