ページ

2009年10月10日土曜日

『さよなら 僕の可愛いシロツメクサと 手帳の隅で眠り続けるストーリー』

昨日は金曜日だったが、帰宅したらヘトヘトですぐに眠るように死んでしまった。
最近、仕事から帰ってきたら眠たくなる習慣が生まれているみたいだ。
こないだまで、金曜日の晩と言えば夜更かしが通例だったが、昨日は無理だった。疲れ果てた。

おかげで、今朝は6時前に目が覚めた。自分でも早すぎだと思う。
部屋の中は肌寒く、淹れたてのコーヒーの湯気が晩秋を告知している。

しかし、最近の僕の生活リズムは、睡眠時間6時間半ないしは7時間半で規則的に推移しているので、
休日であろうとその規則に則って目覚めてしまうのは、習慣として仕方のないことだ。

それに、よく考えてみると、金曜日に無理に夜更かしをしてゲームとか漫画とかエロ本とかネットサーフィンとかを堪能するよりも、
そこは一発奮起していっそ倒れ込んでしまい、朝起きてリフレッシュした頭でゲームとか漫画とかエロ本を堪能したほうが、快適かつ脳に良いのではないかと思うワケだ。

で、実際今まさにそうしているわけだが、化物語アニメおもろい。じゃなくて、朝早く起きると時間の流れが遅く感じる。何でも出来る気さえしてくる。
ポケモンは後はラスボスを倒すだけ。今はレアコイルを強化中。

ずっと使っていたキーボードの調子が悪くなってきたので、HappyHackingKeyboardを購入した。
HHKは、UNIX配列のキーボードだ。
仕事柄、プログラム自体はIDEを用いて開発をしているが、まとめてコメントを打ったり、あるいは単に文章を書いたりすると言った時に、
普通のエディタだと面倒くさいことに最近気付いてきた。

具体的には、矢印キーでのカーソル移動。あと、ショートカットを用いての反復動作。
前者は主に、文章の改訂をするときに、該当する文字列までカーソルを移動させるときに使う。
いちいちマウスを手にとってポチッと押すのも面倒くさくなってきたと言うのは、プログラマとしてキーボード操作に慣れまくってきた証拠だと思う。
タッチタイプが染み付くと、ホーム・ポジションから指を離すことに抵抗を覚えるようになる。
僕は今まさにそれで、離れた場所にある矢印キーを押すために手を移動させないといけないことに苦痛を感じている。

そして後者。例えば、VisualStudioでは関数やメンバ変数の頭で'''と打つと、XMLコメントを自動的に表示してくれるわけだが、
それを数多く打とうと思うと、Shiftキーを小指で押したまま7を押さないといけないわけだから、いい加減指が攣りそうになってくる。
それに、コピペを多く行うときも、Ctrlキーを小指で押したままCとVを連打しないといけないので、指が攣る恐れが出てくる。
(マクロを作ろうかとも考えたが、それを作る時間が勿体無いくらい今は忙しいので後回し。いつかそういうアドオンを作ってみたい。)

そうした状況を何とか改善したい!と思って僕が調べて行き着いた先が、UNIXで使われているエディタ。
つまりEmacsとVimだ。
この二つは、『エディタ戦争』の中で最も勢力のある二つのエディタであり、両者とも甲乙つけがたいメリットとデメリットを持つ。
Emacsはその拡張性の高さから、エディタのみならずあらゆる機能を付加し、それをキーボード操作だけで扱えるようになるという、いわばインフラ的ソフトウェアとして信奉されている。
一方Vimは、そのシンプルさと、文字入力と言うことに特化した性能の高さから、エディタの中のエディタ、掛け値なしのエディタだと崇拝されている。

が、普通の人はこれらのエディタの名前すら聞いたことがないのではないだろうか?
それもそのはず、エディタとは言え、キーバインドが異常に特殊だからだ。

例えば、Emacsでは、単にファイルを開くだけでも、Ctrl+X、Ctrl+Fと言うコマンドを使う。
サクラエディタや秀丸エディタのような、多くの人が使っているエディタだとCtrl+Oだけだ。
僕はEmacs使いではないので、これ以上はあんまり触れない。

だけど、Emacsでは、単なるカーソル移動にすらショートカットキーが存在し、例えばカーソルを右に移動させるには、Ctrl+Fを押す。
左に移動させるにはCtrl+B。上はCtrl+P、下はCtrl+n。
つまり、ホームポジションから手を離さなくても、カーソル移動が行えるというわけだ。

だが、Emacsのキーバインドは、CtrlキーとAltキーを多用するため、Vim信者からは「手根管症候群を起こす悪魔のソフトだ!」とか
「EmacsはEscape Meta Alt Control Shiftの略語だ」とか言う揶揄が飛び交うまでになった。

一方、Vimはどうなのかと言うと、とっつきにくい人はもっととっつきにくい仕組みが導入されている。
それが、コマンドモードとエディタモードだ。
エディタモードは文字通り、文章のEditを行うためのものであり、このモードになっているときはあらゆるショートカットキーが効かない。カーソルキー移動さえも。
ショートカットキーを有効にして、コマンドを打ち込むにはEscキーを押してコマンドモードに移行しなければならない。

EmacsではCtrlやAltキーを多用するコマンドが殆どだったが、Vimはそういうのはあんまりない。
コマンドモードで入力された文字がそのままコマンドになるから、修飾キーは基本的に不要だ。
例えば、Vimではコマンドモードのときにファイルを開くときはこう入力する。

:e "ファイル名"

カーソル移動も、ショートカットキーがあるが、コマンドモードでしか使えない。
Vimでのカーソル移動は、h,j,k,lキーがそれぞれ左、下、上、右、に相当する。

とまあこのように、ホーム・ポジションから手を移動させないために開発された二つのエディタがあるが、
普通のキーボードではこれらのエディタを100%使うことは出来ないというのが僕の持論だ。
なぜなら、Ctrlキーを押すこと自体、小指を移動させると言う負担があるからだ。

購入したHHKでは、Ctrlキーは普通のキーボードで言うところのCapsLockキーの位置にある。CapsLockキーは、なくなった。
使用しようと思ったら、Shiftを押しながらTabキーを押さなければならない。

まあ、百聞は一見に如かず。この画像を見ると早い。



このように、非常に小さくまとまっている。
僕が最初慣れずに不便だと感じたのは、日本語・英数変換キーの位置だ。
結構使うキーだけに、Xキーの下にあるのは若干押しにくい。
まあ、Escキーを押すのに指を伸ばす必要がなくなったというのは大きいが。
VimだとEscキーは多用するので、打ちやすい位置にあると助かる。

うだうだと書いたが、Vimを使い始めて確かにドキュメント操作は早くなったように感じる。
会社でもHHKを使わせてくれたらいいんだが…セキュリティの関係から、キーボードの持参は禁止されている。欲しいなら会社の経費でちゃんとしたものを買えと言うわけだ。
いつか景気が良くなって、そうした購入が簡単に出来るなら、僕はHHKの購入を打診しようと思う。

おおっと、これだけの長文を書いてもまだ8時過ぎか。思ったより朝は長いな。
さて、アニメ鑑賞とレアコイルのレベル上げに戻ろう。

0 件のコメント: