トップページへ

vi/vimで複数行を一括削除する方法

小粋空間 » Linux » vi/vimで複数行を一括削除する方法

vi/vimで複数行を一括削除する方法を紹介します。

1.問題点

vi/vimで複数行を削除する場合、"dd"または、削除したい行数の数字を入力した後、"dd"を入力していますが、指定した範囲をまとめて削除する方法がわかりません。

ということで、vi/vimで複数行を一括削除する方法を紹介します。

2.複数行を一括削除する

複数行を一括削除するには、まず削除開始行で、

ms

を入力します(コマンドモードに切り替える必要はありません)。

次に終了行で、

me

を入力し、そのあと、

:'s,'ed

を入力すれば、msからmeまでの行が削除されます。

3.解説

"m"はカーソルの位置を2文字目に記録するという機能があります。

"ms"と"me"は"s"と"e"にそれぞれカーソルの位置を記録します。

"s"と"e"はstartとendの意味なので、別の文字でも構いません。

話がそれますが、行番号で複数行削除するコマンドは、コマンドモードで、

:開始行,終了行d

となります。

たとえば、

:3,7d

と入力すれば、3行目から7行目までを削除します。

話を戻して、

:'s,'ed

は、":"でコマンドモードに切り替えて、"s"から"e"までを削除(d)するという意味になります。

開始を"mb"、終了を"mo"に変えた場合は、

:'b,'od

になります。

« 前の記事へ

次の記事へ »

トップページへ