繁体   English   中英

Vim:如何使用 .config 使未编译的行变暗

[英]Vim: How to use .config to dim lines that are not compiled in

在 Vim 中阅读 linux 内核源代码时,有没有什么方法可以告诉编辑器在某个位置有一个.config文件,并且是将宏保护中的行变暗,导致它无法编译成内核?

如果没有,你在阅读源代码时如何解决问题? 我使用 vim、ctags 和 cscope,但我最终查看了未编译到最终二进制映像中的代码,因为我没有注意到宏保护。 有没有办法避免这种情况?

[编辑]

例如, .config文件可以说我有以下配置值。

...
CONFIG_TEST_BLAH
...

后来,在我的其中一个 C 文件中:-

#ifdef CONFIG_TEST_BLAH
void test () {
...
...
}
#else
void test() {
...
...
}
#endif

在这种情况下,我希望#else块内的代码块具有不同的意图或颜色,以便我知道它不会被编译到最终的内核映像中。

[编辑 2]

我相信像 Visual Studio 这样的编辑器允许这种情况发生,我想知道是否有办法用 vim 做到这一点。

ifdef 插件提供了这种变暗的语法高亮。 您可以通过多种方式定义它。 从它的描述来看:

为#ifdef #ifndef #else #endif 块提供高亮显示,能够将符号标记为已定义或未定义。 也处理#ifdefs(和#if)的嵌套,但不处理#if defined()。

支持 vim_ifdef: modelines 和 .defines (_defines for win16/win32s) 文件来指定定义/未定义符号。

使用 :Define 或 :Undefine 动态指定已定义或未定义的部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM