Linuxのviで複数行を範囲指定して削除する2つの方法

Linuxvi(またはvim)で1行だけ削除する[dd]コマンドはよく使いますが、複数行を一気に削除したり、範囲指定して削除する方法をうっかり忘れるのでメモしておきます。

ddコマンドで複数行を削除

Linuxでファイルをviで開き、削除したい行にカーソルを合わせて[dd]と打つと、カーソルがある行の1行が削除されますが、この[dd]コマンドを使用して複数行削除することもできます。

[行数]→[dd]で複数行を削除

例えば、ある特定の部分を3行だけ削除したいとしましょう。
削除したい複数行の1番上の行にカーソルを移動させます。
ここでは、以下のように[222]から下の3行を削除してみます。

111
222 ← ここにカーソルを合わせる
333
444
555

そして、数字の[3]→[dd]と入力すると、以下のように複数行が一気に削除されます。

111
555

ビジュアルモードで範囲指定して削除

次は、ビジュアルモード(正確にはビジュアルラインモードと言うらしい)でカーソルを動かして範囲指定してから複数行削除する方法です。
この方法だと、行数をカウントする必要もなく、視覚的に範囲指定して削除できるのでおすすめです!

[Shift]+[v]から範囲指定[↑↓]して[d]

それでは、範囲指定して上記と同じように3行だけ削除していきます。
viでファイルを開いたら、[Shift]+[v]を押下してビジュアルモードにします。
ビジュアルモードになっているかどうかは、画面の1番下に以下の文字があることで確認できます。

・・・
-- ビジュアル 行 --

次に、上下(↑↓)キーでカーソルを移動して範囲指定します。

111
222 ← ここで[Shift]+[v]を押下
333 ↓
444 ← ここまで選択
555

最後に[d]キーを押下したら削除完了です!

111
555

以上です!
調べたらすぐにわかりますが、便利でよく使うのでぜひ覚えておきましょう。


Amazonベストセラー

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA