gpt4 book ai didi

regex - 如何在vim中折叠所有出现的正则表达式?

转载 作者:行者123 更新时间:2023-12-04 20:23:26 26 4
gpt4 key购买 nike

我的一个同事正在使用一个可怕的源代码编辑器,该编辑器在整个代码中留下奇怪的注释。在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 > */

就像我说的,上述正则表达式捕获了所有这些。

最佳答案

我对块的详细信息尚不完全清楚(因此请提供有关示例的注释),但是您可以使用以下方法:

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

这将配置“标记”折叠方法,该方法在代码中查找某些标记,然后将开始标记设置为 /* EasyCODE,将结束标记设置为 */。希望这会给您一些入门的帮助。如果您可以发布示例源文件,我也许可以提供更多建议。
:help folding
:help 'foldmarker'
:help 'foldmethod'
:help fold-marker

关于regex - 如何在vim中折叠所有出现的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3758739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com