在 vim 中與正規表示式相符的行之前插入一行文本

在 vim 中與正規表示式相符的行之前插入一行文本

我正在嘗試使用 vim 將一列添加到 HTML 表中,因此我需要<td>在每個 之前添加一對標記</tr>。到目前為止我已經

:186,$s/ <\/tr>/<td><\/td> \n <\/tr>/g
但 vim 顯示^@而不是為結束 tr 標記建立一個新行。有什麼辦法可以解決這個問題嗎?

答案1

是的,您需要在替換部分中使用\r而不是,這是 Vim命令的一個怪癖。您可以透過使用不同的分隔符號(例如)並透過 引用匹配來進一步簡化命令:\n:s#&

:186,$s# </tr>#<td></td> \r&#g

相關內容