親指を有効活用space-chord.el〜スペースを押しながら〜

Ctrl+中指か薬指を使うキー操作が多いEmacsで指の負担を軽くする方法 - http://rubikitch.com/に移転しましたの続き。

Emacsで同時押しを実現するkey-chord.elがめちゃくちゃ気に入ったのと、SandSに触発されて「スペースから始まるkey-chord」を定義するEmacs Lispを作ってみた。ただのquick hack。

M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/key-chord.el
M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/space-chord.el

(require 'space-chord)

で読み込んで、

(space-chord-define-global "f" 'find-file)

を定義すれば Space-f で find-file が実行できる。

(space-chord-define c-mode-map "c" 'compile)

は c-mode-map で Space-c で compile。

Spaceを押してからキーの受け付け時間は0.08秒で space-chord-delay で設定できる。受け付け時間はけっこう短い。長くしてしまうとSpaceを押してからの反応が遅くなりすぎてイライラしてしまうのでこの程度がいいかと。割り当てるキーがない人、指が疲れる人にとっては新たに定義できる26個のキーは魅力的だろう。

(loop for k from ?a to ?z do
      (space-chord-define-global k (upcase (char-to-string k))))

で似非SandS。つまりSpace-aでA。しかし、Spaceを押しつづけて連続入力できないので所詮似非SandS。