矩形選択モードの使い方
矩形選択とは
矩形選択とは, その名の通り, 矩形に領域を選択できます. 例えば, コードを以下のように変換したりできます.
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行目の行頭に合わせます
- <Ctrl-v>を押して矩形選択モードに入ります
- lを押して, fooの3つ目のoまで移動します
- そのまま最後の行までカーソルを移動して, 変換したい部分を全て覆います
- cを押して, インサートモードに入ります
- barと入力をして, インサートモードを抜けます
一連の動きは,
みたいになります.
同様の流れで, I(大文字のi)を使って, 文頭に文字列を挿入したり, いろいろできます.
全ての行末に文字列を挿入したいときには, 注意しなければいけないことがあります. 何かというと, 矩形選択では, l(エル)を使って移動するだけでは, 文末より右にカーソルを動かせないため, もしカーソルがある行より長い行を一緒に選択している場合は, 全ての行末を覆えません. そういう時には, $を使うことで解決できます. うまく覆うことができたら, Aを押して, 行末に文字列を挿入することができます.
実際には, 以下の様な動きになります.
矩形選択モードの使い方はこんな感じになります.