gpt4 book ai didi

vim - 如何删除以vim中某些特定模式开始/结束的代码块?

转载 作者:行者123 更新时间:2023-12-04 16:51:08 28 4
gpt4 key购买 nike

不知有没有办法 内vim 删除第一行/最后一行与特定模式匹配的所有代码块。例如,我有一个 c++ 代码,其中包含很多我想摆脱的 #if#endif block :

#if GGSDEBUG  ---|
somecode Block to delete
#endif ---|

//code

#if GGSDEBUG ---|
somecode Block to delete
#endif ---|

//code

#if GGSDEBUG ---|
somecode Block to delete
#endif ---|

谢谢,

最佳答案

使用 :global命令来定位你的 block 的所有起始行,并在那里执行一个命令。

:g/^#if GGSDEBUG/ [...]

当光标位于 block 的第一行时,您可以 :delete通过指定以描述 block 结尾的模式结尾的范围:
:.,/^#endif/delete

放在一起:
:g/^#if GGSDEBUG/.,/^#endif/delete

您可以调整模式(例如,通过将 \n\zs$ 附加到 endif 以同时删除以下空行)。

关于vim - 如何删除以vim中某些特定模式开始/结束的代码块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21262755/

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