我将doxygen文档用于c代码。 现在,我想将这些文档移至saprate dox文件中。 有什么快速简单的解决方案可以在Vim中提取这些Doxygen注释?
/**
*....
*....
*/
/*!
*...
*...
*...
*/
我知道当光标位于第一个y%
上时,可以使用/
来抽取块中的所有代码。但是我们的文档遍及整个文件,很难一一对应。
答案 0 :(得分:6)
这是非常标准和通用的技术。
按 q a q 清除寄存器“ a”。然后输入命令:
:g/regex1/ .,/regex2/ yank A
regex1
是一个正则表达式,用于匹配块的开始,而regex2
是匹配块的结尾。
现在所有相关行都应进入寄存器“ a”。
答案 1 :(得分:2)
我想我们需要一个非贪婪的搜索来避免处理从第一个评论到第二个或最后一个评论的结尾的所有内容。像这样:
:let @a=''
:g/\v^\/\*\_.{-}\*\//yank A
当我们将内容附加到寄存器A
时,建议先清除它,这就是:let @a=''
的原因。