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

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

Posted at August 3,2022 11:55 PM
Tag:[linux]

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

になります。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)