我的一个同事正在使用一个可怕的源代码编辑器,该编辑器在代码中留下奇怪的注释。在Visual Studio中,我创建了一个宏,该宏只是折叠了所有这些注释块,因此我不必看到它们。
现在我想在vim中做同样的事情。
此正则表达式匹配以下每个块:
/^.*\/\* EasyCODE.*\(\(\n.*\*\/\)\|\(\n.*\/\*.*\)\|\(\n\/\/.*\)\)*/
Run Code Online (Sandbox Code Playgroud)
现在我敢打赌,有一种非常不错的方法可以在vim中折叠此模式的所有匹配项。但是,我对vim相当陌生,不知道该怎么做。
你能帮我吗?
编辑:一些例子:
这些注释块始终以开头/* EasyCODE。有时,注释*/在第一行的结尾处有结束符,有时仅在下一行。以下各行可能包含也可能不包含其他“ /* EasyCODE...”块。
这些块之一可能看起来像这样
/* EasyCODE ) */
/* EasyCODE ( 0
some text */
/* EasyCODE F */
Run Code Online (Sandbox Code Playgroud)
或像这样
/* EasyCODE V8 */
/* EasyCODE ( 0 */
Run Code Online (Sandbox Code Playgroud)
或像这样
/* EasyCODE > */
Run Code Online (Sandbox Code Playgroud)
就像我说的,上述正则表达式抓住了所有这些。
我不完全清楚你的块的细节(因此关于提供示例的评论),但你可以使用这样的东西:
:set foldmarker=/\*\ EasyCODE,\*/
:set foldmethod=marker
Run Code Online (Sandbox Code Playgroud)
这将配置“标记”折叠方法,该方法在代码中查找某些标记,然后将起始标记设置为/* EasyCODE,将结束标记设置为*/。希望这会给您一些帮助您入门。如果您可以发布示例源文件,我也许可以提供更多建议。
:help folding
:help 'foldmarker'
:help 'foldmethod'
:help fold-marker
Run Code Online (Sandbox Code Playgroud)