2016-10-11 9 views
2

Vimでlinuxカーネルのソースコードを読むとき、特定の場所に.configファイルがあることをエディタに伝える方法はありますか?それがカーネルにコンパイルされないようにするマクロガード内の線を細くすることですか?Vim:コンパイルされていない行を.configでコンパイルする方法

もしそうでなければ、ソースコードを読むときに問題を解決するためにあなたは何をしますか?私はvim、ctags、cscopeを使っていますが、私はマクロガードに気付かなかったので、最後のバイナリイメージにコンパイルされていないコードを探します。これを避ける方法はありますか?

[EDIT]

例として、.configファイルは、私は、次の設定値を持って言うことができます。この場合

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

私はなるように、異なるintentedまたは着色する#elseブロック内のコードのブロックが欲しい - :私はCファイルのいずれかに

後で
... 
CONFIG_TEST_BLAH 
... 

、私はそれが最終的なカーネルイメージにコンパイルされていないことを知っています。

[EDIT 2]

私はvimのでこれを行う方法がある場合などのVisual Studioなどの編集者はこの現象が発生するため、私は思ったんだけどを許可すると信じています。

+0

問題を説明するサンプルコードを追加するのはどうですか。がんばろう。 – shellter

+0

問題をより明確にするために編集に追加しました。 –

+0

あなたは[Vi and Vim](http://vi.stackexchange.com/)の方が良いでしょう。 –

答えて

2

ifdef pluginは、このような淡色表示の強調表示を提供します。これは複数の方法で定義できます。説明から:

#ifdef #ifndef #else #endifブロックの強調表示を提供し、シンボルを定義済みまたは未定義とマークすることができます。 #ifdefs(および#if)のネストも処理しますが、#ifdefined()は処理しません。

vim_ifdefをサポート:定義済み/未定義のシンボルを指定するための、modelinesと.defines(win16/win32sの_defines)ファイル。

use:定義するか、または:定義していないセクションを動的に指定するには、Undefineを使用します。

関連する問題