Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Vim:如何使用.config来调整未在中编译的行_Linux_Vba_Visual Studio_Vim_Macros - Fatal编程技术网

Linux Vim:如何使用.config来调整未在中编译的行

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

在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#ifndef#else#endif块提供高亮显示,并能够将符号标记为已定义或未定义。 也处理#ifdef(和#if)的嵌套,但不处理#if defined()

支持vim_ifdef:modelines和.defines(_definesfor win16/win32s)文件以指定已定义/未定义的符号

使用:Define或:Undefine动态指定已定义或未定义的节


添加一些说明问题的示例代码怎么样。祝你好运。我已经添加了一个编辑,希望能让问题更清楚。你可能会得到更好的服务