![在 vim 中與正規表示式相符的行之前插入一行文本](https://rvso.com/image/1415048/%E5%9C%A8%20vim%20%E4%B8%AD%E8%88%87%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%A4%BA%E5%BC%8F%E7%9B%B8%E7%AC%A6%E7%9A%84%E8%A1%8C%E4%B9%8B%E5%89%8D%E6%8F%92%E5%85%A5%E4%B8%80%E8%A1%8C%E6%96%87%E6%9C%AC.png)
我正在嘗試使用 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