1

最近、ミニページ環境で作業していた LaTeX ドキュメントでリストをラップする必要がありました。基本的に、一致したファイルの各行の前後にテキストを挿入します。これを行うには、次の一連のコマンドを使用しました。

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

これは私が望んでいた結果をもたらしましたが、2 つの別々のコマンドを入力する必要があり、両方とも同じ一致する行で操作しなければならないように思えました。同じ行で複数のコマンドを実行することは可能ですか、それともコマンドの繰り返しが本当に必要ですか?

4

2 に答える 2

0

ラップします:

lstinputlisting

タグ付き:

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

次のコマンドを使用できます。

:%s/lstinputlisting/\\begin{minipage}{\\textwidth}\r&\r\\end{minipage}
  • \rですnew line
  • &ですsearch pattern
于 2012-06-03T13:28:12.857 に答える
0

これを書いているときに見つけた 1 つの解決策は、norm コマンドに渡される文字列で使用し、移動コマンドを使用して 2 行目を挿入することでした。これにより、わずかに改善されます。

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

(^[ は、^V (Ctrl+V) に続いてエスケープ キーを押すと生成されます。)

于 2012-06-03T11:12:09.603 に答える