根据标识符的值在适当的#ifdef块中显示代码
Display code in appropriate #ifdef block according to the value of identifier
我有一个 C 代码库,其中的源文件全部使用 #ifdef 块。有多个标识符和相应的 ifdef(ifdef 嵌套到多个级别)。在查看 vim
中的代码时,有没有一种方法可以让我定义多个标识符和 view/highlight 我的代码,以便我只看到定义标识符时适用的那些 ifdef 块。
#if defined(ID1) && (ID1 == 1)
// code 1
#elif defined(ID1) && (ID1 == 2)
// code 2
当设置ID=1
时,我的视图应该只有display/highlightcode 1
,当ID=2
我的视图应该只有display/highlightcode 2
,否则如果未定义 ID
,则不应突出显示或显示 code 1
和 code 2
。
DISCLAIMER
This is generally a bad idea. You never want to hide text in a source file.
Compiling different code branches based on flags set at compile time is a
different story. But viewing the code, you should always see what you ask
the compiler to build
也就是说,如果您想在阅读时隐藏代码,有几种方法可以实现
- 折叠起来:详见
:help fold
- Syntax:junegunn/limelight.vim 是一个很好的工具,可以选择性地关闭光标所在区域之外的代码空间的语法突出显示。
我有一个 C 代码库,其中的源文件全部使用 #ifdef 块。有多个标识符和相应的 ifdef(ifdef 嵌套到多个级别)。在查看 vim
中的代码时,有没有一种方法可以让我定义多个标识符和 view/highlight 我的代码,以便我只看到定义标识符时适用的那些 ifdef 块。
#if defined(ID1) && (ID1 == 1)
// code 1
#elif defined(ID1) && (ID1 == 2)
// code 2
当设置ID=1
时,我的视图应该只有display/highlightcode 1
,当ID=2
我的视图应该只有display/highlightcode 2
,否则如果未定义 ID
,则不应突出显示或显示 code 1
和 code 2
。
DISCLAIMER
This is generally a bad idea. You never want to hide text in a source file.
Compiling different code branches based on flags set at compile time is a
different story. But viewing the code, you should always see what you ask
the compiler to build
也就是说,如果您想在阅读时隐藏代码,有几种方法可以实现
- 折叠起来:详见
:help fold
- Syntax:junegunn/limelight.vim 是一个很好的工具,可以选择性地关闭光标所在区域之外的代码空间的语法突出显示。