第 6 章:ブロック操作
複数行のテキストをコードへコピーし、配列を初期化したい場面があります。多くの場合、 次のように処理するでしょう。
- 配列の宣言を書く
- 内容を括弧内へコピーする(下のテキストと同じくらいの長さを想定)
- 各行の先頭に
'、末尾に',を追加し、最終行まで繰り返す(50 行あると想像して ください)
Vim なら一行ずつ処理する必要はありません。
16ggを押し、選択した行に書かれた 指示に従ってください。
javascript
const myArray = [
Ctrl-v でブロック選択に入り、$ で行末へ、j で次の行へ移動(実際に操作!)。
j を押して次の行へ移動
下には多くの行があるので 4j で数行まとめて移動
https://www.yahaha.net
https://www.yahaha.net
後で行番号を確認してジャンプ!A で挿入し、<single quote><comma><Esc> と入力して最初の手順を完了。
// おっと、進みすぎました。問題ありません。k で一つ前の行へ戻ります
];最初の手順が完了したら、行頭に
'を追加します。16ggで対象行へ戻って もう一度操作しますが、今回は次の 3 点を変更します。
- 今回は行頭へ挿入するため、最初の行では
$ではなく0を押す- 最後の行で
Aを押す代わりにIを押す。ブロック操作ではAが文字の 後ろ、Iが文字の前へ挿入するため- 最後に
<single quote><Esc>を入力する仕上げに
21gg$xで最終行末の,を削除し、16gg7==でコードを インデントします。完成です!
注意:操作対象を選択してから行頭・行末を指定することもできます。たとえば Ctrl-v jjj$A',<Esc> と操作します。
次は Vim のマクロを扱います。