色々なキーバインド

キーバインドを自分好みに設定している人はたくさんいるようだ。

参考になるかもしれないのでめもっとく。
******************

増井俊之氏がセミコロンにエンターをバインドしているという話が頭から離れなかった。
もういっそのこと彼以上の変態キーバインドにしてしまおう。
コンセプトはホームポジションから一切手を離さずに日常の動作を行うこと。
使用ソフトはVista以外のWindows用窓使いの憂鬱(以下mayu)だ
(Windows Server 2003 Resource Kit Toolsこのようなソフトウェアもあるらしい。thanks>infohack氏)。

まず感想。いざ慣れると、いかにいままで遠いキーに振り回されていたかが痛感できた。
ホームポジション近辺だけで文章やコードが打てるのがこんなに快適だとは正直思わなかった。
真似したい人は少ないかも知れないが、大げさではなく、本当に流れるように文章やコードが打てる。

エンター
まず、増井俊之氏の言うとおり思い切ってセミコロンキーをエンターにしてみた。
するとこれが想像を絶する快適さ。
エンターって打つ時「バン!」って感じで小指を飛ばしちゃいますが、これは本当に舐めるようにタイプできる。
すばらしいの一言。病み付きになりますよ。あらためて増井俊之氏は凄い人だ。

CapsLockとControl
以下、Controlを駆使するので、不幸にもAの横にCapsLockがある人のためにCapsLockとControlを入れ替える設定も書いておいた。
そうでない人はそのままで大丈夫。

セミコロン
しかしエンターキーをセミコロンにするのには抵抗があった。
マウス操作から帰ってくるとセミコロンキー(エンター)は打ちにくい。
それにセミコロンを打つたびにエンターキーまで小指が遠征するのはコンセプトに反している。
そこでエンターキーはそのまま生かすことにした。そしてCtrl+;でセミコロンを打つようにした。
同じキーなので直感的でもある。ホームポジションも崩れない。
Shift+EnterやCtrl+Enterが使えない難点があるが、そういうときだけ元々のエンターキーを使えばよい。

バックスペース
次にバックスペース。遠いキーだ。これにはCtrl+hを使うようにした。
バックスペースは連打することが多いのだが小指は連打に向かない。人差し指が使えるメリットは大きい。
Ctrl+hには元々BSが割り当てられているのだし、viの戻るもhキーなのですぐ慣れた(*1)。
なおBSキーも片手で打てる利点があるのでこれもそのまま残すことに。

なお、WindowsでもCtrl+hは元々バックスペースとして働くのだが、
ショートカットが割り当てられているとそちらが優先されてしまうので(例:Firefox)改めてバインドしなおした方が良い。

エスケープ
次。エスケープキー。vi使いはエスケープキーの遠さは致命的だ。
これもCtrl+hと同じ理由でCtrl+[にした。この2つはUNIXで操作する時に全く問題がでないというメリットもある。
エスケープキーもマウス操作中にダイアログをキャンセルしたい時などに便利なのでそのまま生かすことに。

IME
そしてWindowsで一番ホームポジションが崩れるのがIMEのスイッチだ。この配置は嫌がらせとしか思えない。
そこでAlt+スペースでIME/ON、Shift+スペースでIME/OFFになるようにした(Macintoshを意識した)(*3)。
これがまたすばらしすぎる。
今までAlt+~(JIS配列の人はAlt+漢字)の奴隷になっていたのが良く分かる。
ONとOFFのキーを分けることで、現在のIMEの状態を気にすることもない。これで日本語のタイプ速度がぐっと上昇した。

なお日本語配列では変換キー、無変換キーをIMEのOn/Offにバインドしている人が多いようだ。
日本語キーボードの変換・無変換キーは親指で押せる位置にあるので良いかも知れない。

矢印
最後は矢印だ。vi風のhjklを色々考えてみたのだが、ダメだった。
しかし、よく考えてみるとtcshなどでemacsの上下左右には慣れ親しんでいることに気がついたのでemacs風バインドを追加してみた。
ただし、検索のCtrl+Fとかぶるなど問題点も多い。

改めて感想
しかしホームポジションから手を離さずにプログラミングや日本語入力をするのがこんなに快適だとは思ってみなかった。
頻繁に小指を伸ばしたり、ホームポジションから指を外したりするのは、想像以上にストレスになっていたようだ。