2012-06-03 40 views
1

我最近需要在我正在小型網絡環境下工作的LaTeX文檔中包裝列表。基本上,要在匹配的文件的每一行前後插入一些文本。要做到這一點我用下面的命令序列:在一條匹配的行上執行多個命令

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

雖然這給了我想要的它似乎笨重不得不進入兩個獨立的命令,在同一匹配行兩種操作的結果。是否可以在同一行上執行多個命令,或者重複的命令是否真的有必要?

回答

0

爲了總結:

lstinputlisting 

與標籤:

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

你可以使用這個命令:

:%s/lstinputlisting/\\begin{minipage}{\\textwidth}\r&\r\\end{minipage} 
  • \rnew line
  • &search pattern
0

我在寫這篇文章時發現的一個解決方案是在傳遞給norm命令的字符串中使用,然後使用移動命令插入第二行。這給出了稍微改善:

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

(^ [產生按^ V(CTRL + V),接着退出鍵。)