我有类似这样的代码:
<%= 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/<[^<]+>$//克
更正:
%s/<[^<]\+>$//g
答案2
这是一个有效的方法。
从http://vim.wikia.com/wiki/Power_of_g
:[range]g/<pattern>/cmd
Ex 命令以冒号 (':') 开头。该命令针对指定范围(默认为整个文件)执行 Ex 命令 cmd,匹配每行。在执行 cmd 之前,“.”被设置为当前行。
这似乎是对一组文件运行命令的同样简单的方法。