【Vim】矩形選択(くけいせんたく)と加工をする方法
「矩形選択」の文字列をいきなり見せられて、読みと内容が一発でわかるひとは相当少数派のような気がします。タイトルにある通り「くけいせんたく」が読みで「行方向に選択する」というのが意味になります。
「行方向」といっても行単位で選択するわけじゃなくて、文字単位での行方向選択ということです。例えば冒頭1文字分だけ行方向に選択するというような感じ。こういう機能が地味に欲しいシーンは結構あるんですが、往々にして使うときに思い出せずシコシコ1文字ずつ削ることになることもしばしば。
というわけで思い出し用にメモ。こちらの記事を参考にしています。
qiita.com
2. [C-v]([Ctrl]を押しながら[v])で矩形ビジュアルモードを起動する
通常[v]だけだと「ビジュアルモード」に入るわけですが、[C-v]([Ctrl]を押しながら[v])を叩くことで矩形選択が出来る「矩形ビジュアルモード」に入ります。
3. 加工をしたい行範囲を選択する
「ビジュアルモード」では、[k][j][h][l]で上下左右に選択範囲を広げることが出来ますが、[k][j]を叩いた場合行をまたがって選択されてしまいます。
「矩形ビジュアルモード」では、[k][j]を叩くと選択した文字数分上下に選択範囲を広げることが出来ます。
また、[h][l]を叩くと選択する文字の数を増減させることが出来ます。
4. 加工のためのコマンドを実行する
ここからは様々なケースがありますのでそれぞれに応じて記述します。
(1) 選択した矩形文字列を削除する場合
[d]を叩くことで削除されます。
(2) 選択した矩形文字列をヤンク(コピー)する場合
[y]を叩くことでヤンクされます。
なお、ペースト(貼り付け)する場合は実行したい場所にカーソルを合わせて[p]もしくは[P]([Shift]を押しながら[p])を叩きます。
[1] [p]の場合
カーソル位置の後にペーストされます。
[2] [P]([Shiftキー]を押しながら[pキー])の場合
カーソル位置の前にペーストされます。
(3) 選択した矩形文字列の前に文字を挿入したい場合
[I]([Shift]を押しながら[i])を叩きます。すると「インサートモード」に切り替わるので挿入したい文字を入力し、最後に[Esc]を2回叩きます。
[Exc]は1回では完了しないので、必ず2回叩く必要があります。
(4) 選択した矩形文字列の後ろに文字を挿入したい場合
[A]([Shift]を押しながら[a])を叩きます。(3)と同じく「インサートモード」に切り替わるので挿入したい文字を入力し、最後に[Esc]を2回叩きます。
[Exc]は1回では完了しないので、必ず2回叩く必要があります。
その他のナレッジについてはこちら。
yohichidate.hatenablog.com