
我有類似這樣的程式碼:
<%= article.body %></td>
<%= article.author %></td>
<%= link_to 'Show', article %></td>
<%= link_to 'Edit', edit_article_path(article) %></td>
<%= link_to 'Destroy', article, :confirm => 'Are you sure?', :method => :delete %></td>
我想在 Vim 中刪除行尾的 HTML 標籤。我想到的唯一方法是搜尋和替換。我知道我可以在多行中插入和附加文本,但是有沒有辦法從多行中刪除文本?
答案1
在“<”之後搜尋並替換不是 (^)“<”字元的字串,直到到達也位於該行末尾的“>”:
%s/<[^<]+>$//g
更正:
%s/<[^<]\+>$//g
答案2
這是一種有效的方法。
從http://vim.wikia.com/wiki/Power_of_g
:[range]g/<pattern>/cmd
Ex 指令是以冒號(':')開頭的指令。此命令透過對匹配的每一行執行 Ex 命令 cmd 來作用於指定範圍(預設整個檔案)。在執行cmd之前,“.”設定為目前行。
這似乎是對一組文件運行命令的同樣簡單的方法。