5

我的一位同事正在使用一个糟糕的源代码编辑器,它会在代码中留下奇怪的注释。在 Visual Studio 中,我创建了一个宏,它只是折叠所有这些注释块,所以我不必看到它们。

现在我想在 vim 中做同样的事情。

此正则表达式匹配每个块:

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

现在我敢打赌,有一种非常好的方法可以在 vim 中折叠这种模式的所有匹配项。但是,我对 vim 很陌生,不知道该怎么做。

你能帮我吗?

编辑:一些例子:

这些注释块总是以/* EasyCODE. 有时评论*/在第一行的末尾有一个结束权,有时只在下一行。以下行可能包含也可能不包含额外的“ /* EasyCODE...”块。

这些块之一可能看起来像这样

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

或者像这样

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

或者像这样

/* EasyCODE > */

正如我所说,上面的正则表达式捕获了它们。

4

1 回答 1

4

我对你的块的细节并不完全清楚(因此关于提供示例的评论),但你可以使用这样的东西:

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

这将配置在代码中查找某些标记的“标记”折叠方法,然后将起始标记设置为/* EasyCODE,将结束标记设置为*/。希望这会给你一些帮助你开始的东西。如果您可以发布示例源文件,我可以提供更多建议。

:help folding
:help 'foldmarker'
:help 'foldmethod'
:help fold-marker
于 2010-09-21T12:48:46.253 回答