如何注释掉vim中多个文件中以某些特定模式开头/结尾的代码块?

时间:2019-04-09 11:28:52

标签: vim

我正在注释多个文件foo1.tex,...,foo9.tex中的代码块。每个块在以“ {\ bf Solution。}”开始并以“ \ end {ex}”结束的一行之间有多行。

{\bf Solution.}
Line1
Line2
...
Line100
\end{ex}

第1〜100行是要注释掉的行。

1 个答案:

答案 0 :(得分:1)

您可以创建以下宏:

qq以启动寄存器q中的宏

然后,搜索您要评论的部分的开头:

/{\\bf Solution.}

下一行到第一行发表评论:

j

进入块可视模式:

ctrl-v

搜索本节的结尾:

/\\end{ex}

向上一行最后一行进行评论:

k

进入插入模式,并添加注释:

I% 

以普通模式返回并停止宏录制:

<escape>q

然后可以使用以下命令运行宏:

@q

要在所有打开的文件上运行它,您可以执行以下操作:

:bufdo norm @q

它将注释单个块,因此如果要注释多个块,则需要重复该注释。