accel-key.el はキーボードの同じキーを何度も押す場合に, 押す早さやタイミングによって動作を変化させるようします.
例えばカーソルを移動させようとした場合, Ctrl-f (forward-char) を 何度も押すことになり, けっこう面倒だと思います. そこで Accel-key では 普通に Ctrl-f を押していく場合は今まで通り 1 文字ずつカーソルが 進んでいくのですが, Ctrl-f を押しっぱなしにするとカーソル移動は だんだん加速されて移動するようになります. さらに Ctrl-f を ダブルクリックのように 2 回押すと 1 単語ずつ移動するようになります.
http://www.taiyaki.org/elisp/accel-key/src/ から accel-key.el を 適当な場所にダウンロードしてください. ここでは ~/elisp/ 以下にダウンロードしたとします. 次に ~/.emacs などに次の 2 行を追加してください. 1 行目は既に書いてあれば必要ありません.
(setq load-path (cons (expand-file-name "~/elisp") load-path)) (load "accel-key")
それぞれ C-f, C-b に割り当てられています.
一定間隔で C-f を押し続けていけば, 1 文字ずつ進みます.
前回の打鍵が C-f 以外か, 下記の条件に当てはまらない場合に 1 文字進むようになります.
C-f を押しっぱなしにすればだんだん早くなります. 最大で 4 文字ずつ進みます.
前回の打鍵との間隔が 50,000 マイクロ秒以内ならこれになります.
「タタン」とタイミングよくキーを押せば進みます. ただしこれの直前の キー入力が同じく C-f である必要があります. つまり最初の 1 単語目は 「タン・タタン」 3 回押す必要があります. 2 単語目からはその必要がないので 3 単語分移動したい場合は「タン・タタン・タタン・タタン」と押します.
前回の打鍵の間隔が 200,000 マイクロ秒以内で, 前々回の打鍵の間隔が 200,000 マイクロ秒以上かつ 1,000,000 マイクロ秒以内で, 前々回の間隔が 前回の間隔よりも 20,000 マイクロ秒以上ならばこれになります. ちなみに この数字に根拠はありません.