VIm で複数行の末尾から文字を削除する

VIm で複数行の末尾から文字を削除する

次のようなコードがあります:

<%= 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 を実行する前に、現在の行に "." が設定されます。

これは、ファイルのグループに対してコマンドを実行するのにも同様に簡単な方法のようです。

関連情報