LoginSignup
5
5

More than 5 years have passed since last update.

Vimメモ 複数行の一括編集

Posted at

vim を使っていて、複数の行を一括で書き換えたいケースが出てきます。
たとえば、

1: DATA_1="aaa"
2: DATA_1="BBB"
3: DATA_2="CCC
4: VALUE_3="DDD"
5: VALUE_4="EEE"

というファイルがあったとします。
(先頭の 1: や 2: は行番号です)

2行目と3行目の先頭の DATA を VALUE に書き換えたい場合、

:2,3s/^DATA/VALUE/

とか書けばできますが、書き換えのエリアが広くなると、いちいち行番号をメモしておくのも面倒です。

そこで Vim のマーク機能を使うと便利です。

まず、変更を開始したい行へカーソルを移動し、m[a-zA-Z] と打ちます。
たとえば、a という名前のマークをつけるのであれば ma と打ちます。
これは表示されません。

次に変更を終了したい行へカーソルを移動し、

:'a,.s/^DATA/VALUE/

と入力すると、a とマークされた行 ('a) ~ ここ (.) までの行を変更することができます。

書き換えだけでなく削除 (d) やコピー (yank) などでも利用できます。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5