darudaru

だるだるしてるエンジニア

vimのビジュアルモードで開発をちょっと楽にする

ビジュアルモードをどう使ったら便利なのかがいまいちわからなくて、色々調べた内容をまとめます。

vimのビジュアルモード

3つあります。

コマンド モード 説明
v ビジュアルモード 文字単位で選択する
V ビジュアルラインモード 行単位で選択する
Ctrl+v ビジュアルブロックモード 短形で選択する

Escでビジュアルモードを抜けます。
vしか使ってなかった。

ビジュアルモードで使うと便利そうなキー操作

  • oで始点と終点を切り替える
  • gvで直前の選択範囲を再度選択する
  • rで置換する 例)rbだと選択した範囲をbの文字に置換する
  • $で最後の行まで選択する
  • Aで最後の行に文字追加する

実践

ビジュアルモードを使ってこんなことができる、という例です。

複数行をコメントアウトする

  1. Ctrl+vでビジュアルブロックモードにする
  2. jでコメントアウトしたい行を選択する
  3. Iでインサートモードに切り替える
  4. //を入力する
  5. Esc

複数行のコメントアウトを削除する

  1. Ctrl+v でビジュアルブロックモードにする
  2. jで削除したいコメントアウトを選択する
  3. dで削除

複数行のインデントを入れる

  1. Vでビジュアルラインモードにする
  2. jでインデントを入れる選択範囲を選択する
  3. >
  4. .を入れたいインデントの分だけ連打

複数行の最後に「;」を入れる

  1. Ctrl+vでビジュアルブロックモードにする
  2. jで「;」を入れる行を選択し、$で行の末端まで選択する
  3. Aでインサートモードにする
  4. ;
  5. Esc

感想

コピペでぐらいしかビジュアルモードを使ったことがなかったのですが、複数選択して何か作業したいときに威力を発揮するなと思いました。
vimはいっぱいコマンドあるけれど、使うタイミングがわからなくて結局忘れてしまうことが多々あります。意識的に使って身につけていくしかないんだろうなあ。