VimとEmacsのあいだで小指痛を叫んだけもの

こまつ みつのり(Mitsunori Komatsu) 2007-10-14 05:43:58

UNIX系OSのプログラマが好むエディタとして、VimとEmacsという二大エディタがあります。どちらも、使いこなすには時間がかかるものの、快適なプログラミングを支援する機能が充実しており、「使い込んできたら手放せない」というプログラマも多く存在します。

私の場合は新人の頃に、師匠(的な先輩)から半強制的にEmacs(※1)を使わされ、半泣きでEmacsのキーバインドやら設定方法を覚えていました。ちなみにこの師匠からは、他にも「自宅にFreeBSDのサーバーたてて、いろいろ実験しろ」という命令を受けたりして、いま考えると非常にありがたい指導を受けていたようです(当時は辛かったですが… そのころ組み込み系でしたし)。

※1…実際はWindows上で動作するEmacsクローンであるMeadowというアプリケーションでしたが、ここではEmacsと書いています。

その後も、こつこつEmacsを使い続け、メーラーもWebブラウザもCVSクライアントもFTPクライアントも大抵のことはEmacs上で全てできるようになりました。そして、「いや〜Emacs最高、これさえあればOSが変わってもへっちゃらだ」と、周りに勧めまくったりしていたのでした。私とEmacsの仲は非常にうまくいっていると思っていました。実際のところ、全体的には問題は無く、優しく穏やかな時間が流れていたと思います。でも。すぐそばに破滅が佇んでいた。

いつも通りカーソルキーには触らず、Ctrl-f押下でカーソルを「前に前に」進めていたある日のこと、Emacsを使っていてご機嫌なはずの私の表情は曇っていました。額には脂汗も滲んでいたようです。「左手の小指が痛い…もうコマンドキャンセル(C-g)もできないよ」。EmacsではCtrlキーを多用します。いや、多用するというよりも左手小指で押しっぱなしにします。Wikipediaにまで載っている「Emacs小指」というやつです。「このままじゃ壊れてしまう…」と身の危険を感じた私は、全然使わないCaps LockキーにCtrlキーを割り当て、左Ctrl二刀流にしました。多少使いやすくなったものの、根本的な解決には至りませんでした。

代替案として真っ先にあがったのはVimでした。もともと、viの操作がたどたどしくて、Emacsが入っていない(かつ入れられない)まっさらマシンでの作業に不安を持っていたので、「Vimを使いまくるイコールviも上達。すなわち、弱点克服し幸せに」、という副効果も期待しました。

Vimの習得については、日本語文字コード周り以外は特に苦労せず使いこなせるようになりました。そして、肝心の左手小指の痛みも無くなり、快適な日々を送っています。viの操作も向上し無意識にカットアンドペーストもできるようになりました(maで範囲選択開始、d`aでカット、pでペースト)。

現状、プログラミング環境・エディタとしては満足しているのですが、Vimだけで全ての作業が完結しないことがちょっと不満だったり(あまりVimスクリプトを調べていないのが根本的な原因…)、set -o emacsの環境でたまにコマンドラインからC-aとか打つと、一打で移動できてしまうことがうらやましくなってしまったり、プログラミング環境を整えるのはEmacsのほうが楽だなぁ、と思ったりして、最近はEmacsに戻ってみようかしらと迷っております。

ただ、やはりネックは左手小指の痛みです。これを解決せねば… ということで適当にWeb上の情報を漁ってみると(キーワードは「emacs 小指」または「emacs pinky」)、以下の対応案が出てきました。

1.左手小指の付け根で押す。

2.フットペダルをCtrlに割り当てて足で操作する

  (kinesis社製のものが有名)。

3.変換キー(スペースキー横)をCtrlキー化して右手親指で押す。

1は昔試したことがあって、何だか窮屈な感じが耐えられなかったので没。2はすごく心惹かれるのだけど、買ってみる勇気が無い&一回慣れたらふつうのキーボードが使えなくなりそうなので没。残るは3か… 変換キーは現在、全角/半角に割り当てているのですが、その辺りは何とかなりそうです。カタカナ/ひらがなキーを使っても良いし。

その他、「自分でもオリジナルの打開案を!」と意気込んで考えてみた結果、「マイクに向かってハミングするとCtrl」というアイディアが誕生しました。マイクであれば安く揃えられるし、どの指も痛みません!ただ、プログラミング中、プログラマーが一斉に「ンン〜、ンンンン〜」とか言っている状況を想像して、即却下しました。

ということで、仕事の谷間を見つけて3の対応&久しぶりのEmacsを試してみようかと思っています。まぁ、それはそれで、Vimとの決別に悩みそうな気が…。

今回エントリー書き終えて、一番の感想は「kinesisのキーボード欲しい!」です。一度使ってみたいっす。

※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。

ZDNet Japanクイックポール
4月にサポートが終了した「Windows XP」の対応はどうしていますか。
過去の記事

2014年10月

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。

ITビジネス全般については、CNET Japanをご覧ください。

ZDNet Japan Headline

エンタープライズ・コンピューティングの最前線を配信