2007年9月20日木曜日

Emacsキーバインドの天国と地獄

Emacsキーバインドを覚えて以来、あらゆるエディタでCtrl+N, P, A, Eなどのキーでカーソル移動をしています。Ctrl+X, Ctrl+Sで、ファイル保存とか、Ctrl+\で、日本語入力切り替え。Ctrl+I, O, J, K, Lのあたりも漢字変換のときに便利です。

キーボードによっては、Aの横のキーがCaps Lockなのですが、Emacsキーバインドのために、AltIMEなどのソフトで、Ctrlキーに変更しています。

この操作を覚えると、通常のプログラミング速度が倍以上になりますし(ホームポジションがから手が離れないので、テキストの編集が速くなります)、シェルなどでも同様のキー操作が使えるので、作業効率も上がります。こう書くと、いいこと尽くめなのですが、悪い点が一つ。

Ctrlキーを押す左手小指にダメージがあるのです。Ctrlキー押すと痛くなってしまいました。大した痛みではないのですが、普段よく使うキーなだけに、キーを押すときに少しでも違和感があると、他の作業にすべて影響します。

普通にプログラミングをしている限りは、痛くなるようなことはほとんどないのですが。。。。先週から今週にかけては、朝から晩まで毎日のようにコードを書いていたために、小指に相当な負担がかかっていたようです。

小指の代わりにCtrlキーを押せるものはないかと、手のひらを使ってみたりしましたが、どうにも打ちにくい。

ネットを検索してみると同じような悩みをもつ人はわりといるんですよね。そこで見かけた面白いアイデアはフットスイッチを使う!というもの。確かに、パソコンに向かっているとき、足は空いています。ピアノにもペダルはありますし、エレクトーンのように足が絶え間なく動く操作には慣れっこなので、Ctrlを足で押して、Emacsキーバインドを使うくらいどうってことはなさそうです。

問題なのは、そんなフットスイッチは売っていない、ということ。レーシングゲーム用とおぼしきデバイスはあるのですが、価格が高い上、踏み込むタイプらしく頻繁に押したり離したりという操作には向いてなさそう。


あれこれ考えてみたものの、そういうときは、プログラミング以外のことをすればいい、というのが結論。経験上、小指の痛みも時間が経てば治りますし。

でも、フットスイッチを巧みに駆使しながらキーボード操作ができるとすると、すごいことができそうな気がするんだけど。。。フットスイッチを押しながらだと、アプリケーションをすべてキーボードから操作できてしまうとか。楽器だって楽しく弾けるようになるまでは時間がかかるんだから、キー操作も、それくらいの壁があってもいいんだけどなぁ。

2 件のコメント:

匿名 さんのコメント...

あぁ、これ分かります。自分の場合は痛みよりリも、しびれてくる感覚です。

この数カ月は eclipse でのプログラミングなので、そいう幸・不幸がないです。
調べてみたら、emacs binding カスタマイズがあるようなので、今日から設定してみます(細かいところは設定できなさそうだけど)。

Taro L. Saito (leo) さんのコメント...

> macさん

僕も最近はもっぱらeclipseでJavaプログラミングです。当然、emacs key bindingにしてあるので、今回の痛みにつながりました。

eclipseのいろいろな操作(viewを切り替えるとか、テスト実行など)を2ストロークのキーにバインドして、カスタマイズしています。マクロは簡単にはelispほど簡単には組めないけれど、eclipse自体が高機能なので、キーを設定するだけでたいてい事足りてしまいます。

とりあえず、1日プログラミングを休んだら、小指の具合はよくなりました。

License

Creative Commons LicenseLeo's Chronicle by Taro L. Saito is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.