Linuxのvi(または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
以上です!
調べたらすぐにわかりますが、便利でよく使うのでぜひ覚えておきましょう。
https://tarufu.info/vim-delete-record/
- Original:https://minory.org/linux-vi-delete.html
- Source:Minory
- Author:管理者