如果包含某些单词,如何更改vim中某行的前景文本颜色?例如,我希望我的所有assert()宏都以灰色显示,因此我的眼睛看不到它们。我的代码可能是这样的:
void add_cmd_to_history(void) {
uint32_t index;
ASSERT_D1(history_num_lines<MAX_HISTORY_SIZE);
index=history_num_lines*MAX_CMD_LINE_BUF_ALLOC_LEN;
strcpy(&history[index],cmd_line_buf);
history_num_lines++;
}
所以,在我的.vimrc中,我需要正则表达式字符串&#39; ASSERT_D1&#39;如果匹配,请更改&#39; ctermfg&#39;灰色&#39;或其他颜色。我已经有C语言语法hiliting,因此我需要在我的所有插件的末尾应用此规则。怎么在vim中完成?
答案 0 :(得分:1)
在现有语法高亮显示之上突出显示最好通过:match
命令完成:
:highlight Assertions ctermfg=gray guifg=gray
:2match Assertions /\<ASSERT_D1\>[^;]*;/
这是作用于当前窗口的。如果您主要编辑C / C ++文件,则可以在~/.vimrc
:
autocmd VimEnter,WinEnter * 2match Assertions /\<ASSERT_D1\>[^;]*;/
或者,将命令放在~/.vim/after/ftplugin/c.vim
中,但是它不会自动应用于拆分窗口/标签(如果你不使用拆分就没问题)。