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