Syntax Error.

[Sy] Vim で広範囲の複数行をきれいに削除するコマンド

2018/08/29

Vim でものすごく広範囲の複数行を一度できれいに削除したい場合にはこのコマンドが便利です。

Vim での削除のコマンドはいくつかありますが、数千行とかに及ぶ広範囲を一度に削除したい、というような場合は、 マーク機能 を使うと楽です。

マーク機能とは?

本題の前に、マーク機能単体での使い方を簡単に説明すると、

  1. マークをつけたい行に移動
  2. m を押す
  3. 続けて s などキーを押す

この場合、カーソルのある行に、 s というマークが付けられます。

※通常のコマンド入力に必要な : の入力は必要ないです。

マーク機能を使って複数行を削除

では本題。このマーク機能を使うことで、こんな感じで複数行をまとめて削除することができます。

  1. 削除したい 最初の行 に移動
  2. ms とキーを押す(=sというマークをつける)
  3. 削除したい 最後の行 に移動
  4. me とキーを押す(=eというマークをつける)
  5. : を押して、コマンド入力の状態にする
  6. 's,'ed とコマンドを入力し、Enter で実行(=seのマークの範囲を削除)

マークは別にseでなくても大丈夫です。最後のコマンドのseの前についているのは、「シングルクォート」です。