2010-09-21 52 views
3

我的一位同事正在使用一個可怕的源代碼編輯器,在代碼中留下奇怪的註釋。在Visual Studio中,I created a macro,它簡單地摺疊所有這些註釋塊,因此我不必看到它們。如何在vim中摺疊所有的正則表達式?

現在我想在vim中做同樣的事情。

此正則表達式匹配的那些塊中的每一個:

/^.*\/\* EasyCODE.*\(\(\n.*\*\/\)\|\(\n.*\/\*.*\)\|\(\n\/\/.*\)\)*/ 

現在我敢打賭,有摺疊這種模式的所有匹配vim的一個非常好的方式。不過,我對vim並不熟悉,不知道如何去做。

你能幫我嗎?

編輯:一些例子:

這些註釋塊總是/* EasyCODE開始。有時候,評論在第一行的末尾有右邊的*/,有時只在下一行。以下行可能包含或不包含其他「/* EasyCODE ...」塊。

其中的一個塊的可能看起來像這樣

/* EasyCODE) */ 
/* EasyCODE (0 
some text */ 
/* EasyCODE F */ 

或類似這樣的

/* EasyCODE V8 */ 
/* EasyCODE (0 */ 

或類似這樣的

/* EasyCODE > */ 

正如我所說,上述正則表達式捕獲它們。

+0

你能舉一個例子,說明塊的樣子嗎? – DrAl 2010-09-21 12:43:50

回答

2

我不是你的塊的細節(因此關於提供一個例子,評論)完全清楚,但你可以使用這樣的事情:

:set foldmarker=/\*\ EasyCODE,\*/ 
:set foldmethod=marker 

這將配置「標記」摺疊方法它會在代碼中查找特定的標記,然後將起始標記設置爲/* EasyCODE,並將結束標記設置爲*/。希望這會給你一些啓動的機會。如果您可以發佈示例源文件,我可能會提供更多的建議。

:help folding 
:help 'foldmarker' 
:help 'foldmethod' 
:help fold-marker