「実践Vim」を読んで学んだこと - 第1章 Vimのやり方
ドットコマンド
ドットコマンドすごい。機能的には「直前に行った変更を繰り返せる。」だけ。これだけ読んでも何がすごいかわからないが、実際に使ってみるとこれが効く。
この思想がVimの本質なのだろうと感じる。
下記のようなJavaScriptのコードがあるとする。各行の末尾にセミコロンが必要だ。このようなことをドットコマンドなら簡単にやってのける。
var foo = 1 var bar = 'a' var foobar = foo + bar
初期状態はノーマルモードだ。最初の行で、大文字のA
を入力し行末に移動して挿入モードに切り替える、セミコロン;
を入力し、<Esc>
キーで挿入モードを抜ける。
var foo = 1; var bar = 'a' var foobar = foo + bar
そうすると、1行目の編集が終わる。ここまでは良い。そのあと、j
と.
を入力するだけで残りの行が編集できるのだ。
j
で1つ下の行に移動し、.
で先程の操作を繰り返す。先程の操作というのは、A
、;
、<Esc>
キーによる操作だ。そして、次の行も同様に編集したいなら、 j
と.
を入力すれば良い。これは、カーソルが行末になくても良いのだ。A
の入力が行末までの移動を含んでいるため。
var foo = 1; var bar = 'a'; var foobar = foo + bar;
これは、便利だ。
この機能が、コードを記述方法を変える。コードの記述に対する考え方を変える。
繰り返しできる操作でコードを書くことを考えるようになる、というか、そう考えてVimを書くべきなのだ。
ドットの公式
本の筆者は、繰り返せる操作によるコードの記述方針のことを「ドットの公式」(Dot Formula)と呼んでいる。
ドットの公式 : 移動にキー入力1回、何かするのにキー入力1回
1回のキーストロークをカーソル移動に、もう1回のキーストロークを何か実行するのに使う方針のことだ。これより少ない入力回数は無理だろう。これがVimにおける理想的な記述方針で、このように記述できるように考える必要がある。
Vimはただのテキストエディタと考えていると、Vimのメリットを引き出せない。この公式を使えるように記述する必要がある。
まだ、私はVimを使っていたと思っていたが、本当のVimの使い方ができていなかったのだ。なんてことだ。第1章でVimの真髄とも呼べることを感じることができた。
続きは下記のリンクより