1

我最近需要将列表包装在我在 minipage 环境中处理的 LaTeX 文档中。本质上,在匹配的文件的每一行之前和之后插入一些文本。为此,我使用了以下命令序列:

:g/lstinputlisting/:norm O\begin{minipage}{\textwidth}
:g/lstinputlisting/:norm o\end{minipage}

虽然这给出了我想要的结果,但必须输入两个单独的命令似乎很笨重,两个命令都在同一匹配行上运行。是否可以在同一行上执行多个命令,或者重复的命令真的有必要吗?

4

2 回答 2

0

我在编写此代码时发现的一种解决方案是在传递给 norm 命令的字符串中使用,然后使用移动命令插入第二行。这给出了略微改进:

:g/lstinputlisting/norm O\begin{minipage}{\textwidth}^[jo\end{minipage}

(^[ 是通过按 ^V (Ctrl+V) 然后按转义键产生的。)

于 2012-06-03T11:12:09.603 回答
0

包装:

lstinputlisting

带标签:

\begin{minipage}{\textwidth}
lstinputlisting
\end{minipage}

你可以使用这个命令:

:%s/lstinputlisting/\\begin{minipage}{\\textwidth}\r&\r\\end{minipage}
  • \rnew line
  • &search pattern
于 2012-06-03T13:28:12.857 回答