Linux Vim:如何使用.config来调整未在中编译的行
在Vim中读取linux内核源代码时,是否有任何方法可以告诉编辑器在某个位置有一个Linux Vim:如何使用.config来调整未在中编译的行,linux,vba,visual-studio,vim,macros,Linux,Vba,Visual Studio,Vim,Macros,在Vim中读取linux内核源代码时,是否有任何方法可以告诉编辑器在某个位置有一个.config文件,并且是为了使宏保护中的行变暗,从而导致它无法编译到内核中 如果没有,那么在阅读源代码时,您会如何解决这个问题?我使用vim、ctags和cscope,但我最终研究了没有编译成最终二进制图像的代码,因为我没有注意到宏保护。有没有办法避免这种情况 [编辑] 例如,.config文件让我们假设我有以下配置值 ... CONFIG_TEST_BLAH ... 稍后,在其中一个C文件中,我有:- #if
.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#ifndef#else#endif块提供高亮显示,并能够将符号标记为已定义或未定义。
也处理#ifdef(和#if)的嵌套,但不处理#if defined()
支持vim_ifdef:modelines和.defines(_definesfor win16/win32s)文件以指定已定义/未定义的符号
使用:Define或:Undefine动态指定已定义或未定义的节
添加一些说明问题的示例代码怎么样。祝你好运。我已经添加了一个编辑,希望能让问题更清楚。你可能会得到更好的服务