Vim:如何在#ifdef - #endif块中突出显示代码?

时间:2014-10-29 06:32:24

标签: vim

我通常在ifdef-endif块中编写调试代码。该块由宏打开,宏以某种方式命名:例如。 DRAW_DEBUGTOPO_DEBUGMTS_DEBUG - 即所有调试代码都由某些以' _DEBUG'结尾的宏控制。因此,典型的调试代码块如下所示:

#ifdef DRAW_DEBUG
    //Do something
    // Do something else
#endif

我想在Vim中突出显示所有这些调试代码块。应该很容易做到,因为这些块很容易识别。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

您可以将此代码段作为起点:

" define an highlighting for your special region
highlight Foo ctermbg=16 guibg=#000000

" define your region
syntax region Foo start=/^\s*#ifdef.*_DEBUG/ end=/^\s*#endif/

请务必阅读:help syntax,更具体地说,:help syn-region

答案 1 :(得分:-1)

您可以使用此插件:ifdef-highlighting

将文件复制到$HOME/.vim/syntax/

然后创建内容为$HOME/.vim/after/syntax/cpp.vim

的文件source $HOME/.vim/syntax/ifdef.vim

打开cpp文件后,您可以运行:Undefine DRAW_DEBUG以突出显示此定义块。

您可以根据需要修改ifdef.vim