矩形選択モードの使い方

矩形選択とは

矩形選択とは, その名の通り, 矩形に領域を選択できます. 例えば, コードを以下のように変換したりできます.


foo1 = 1
foo2 = 2
foo3 = 3
foo4 = 4
foo5 = 5

↓

bar1 = 1
bar2 = 2
bar3 = 3
bar4 = 4
bar5 = 5
            

みたいなことを一括で変換できます. また, 行頭に一括で文字を入れたり, 行末に一括で文字を入れたりできます. めちゃくちゃ便利です. コードを書いているときはほぼ毎回使ってるような気がします. では, やり方を解説したいと思います.

使い方

まず, 矩形選択モードに入る必要があります. 矩形選択モードに入るには, <Ctrl-v>を押します.

そうすると, 通常のビジュアルモードとは違って, 長方形状に領域を選択できると思います. この状況で以下のようなコマンドを使って, テキストを編集していきます.

コマンド 動作
I(大文字のi) インサートモードに入る. ノーマルモードに戻るときに, 選択領域の直前部分に文字が挿入される
A インサートモードに入る. ノーマルモードに戻るときに, 選択領域の末尾に文字が挿入される
r 選択領域を入力した1文字で置き換える
d 選択領域を削除する
c 選択領域を削除し, インサートモードに入る. ノーマルモードに戻るときに, 選択していた領域の部分に入力した文字が挿入される
y 選択領域をヤンクする

例えば, 先の例のような操作をするには,

  1. カーソルを1行目の行頭に合わせます
  2. <Ctrl-v>を押して矩形選択モードに入ります
  3. lを押して, fooの3つ目のoまで移動します
  4. そのまま最後の行までカーソルを移動して, 変換したい部分を全て覆います
  5. cを押して, インサートモードに入ります
  6. barと入力をして, インサートモードを抜けます

一連の動きは,

文字列の一括変換

みたいになります.

同様の流れで, I(大文字のi)を使って, 文頭に文字列を挿入したり, いろいろできます.

全ての行末に文字列を挿入したいときには, 注意しなければいけないことがあります. 何かというと, 矩形選択では, l(エル)を使って移動するだけでは, 文末より右にカーソルを動かせないため, もしカーソルがある行より長い行を一緒に選択している場合は, 全ての行末を覆えません. そういう時には, $を使うことで解決できます. うまく覆うことができたら, Aを押して, 行末に文字列を挿入することができます.

実際には, 以下の様な動きになります.

文字列の一括変換

矩形選択モードの使い方はこんな感じになります.