なぜVimのカーソル移動キーは「h・j・k・l」なのか?
Unixライクな環境では必ず1度はお世話になるエディタと言えば「Vim」ですが、現代的な目線から見ると若干キーの操作が不思議なところがあります。特にカーソルの上下左右移動は横一列の「h・j・k・l」キーを使用するのですが、なぜ数あるキーこの4つが選ばれたのでしょうか?実はちゃんとした理由があったようなので紹介します。
「vi」開発者のビル・ジョイ氏が在籍していた当時、カリフォルニア大学バークレイ校に導入された端末がこちらの「ADM-3A」。
「ADM-3A」の外観はこんな感じです。
しかし現代的なPCと違い、この端末にはマウスがありません。カーソルの移動には現在のような専用のキーではなく「h・j・k・l」と同じキーを使っていました。
「h・j・k・l」キーのアップ。
そのような環境の中で、ビル・ジョイ氏が「vi」の開発を行ったため、カーソルの移動は当たり前のように「h・j・k・l」を使うようになったとのこと。そして、そのコマンドはそのまま上位互換エディタの「Vim」にも引き継がれたため、Vimでもhjklでカーソルを動かすようになったのです。
現在は、vi系のエディタ以外でもGoogleリーダーのキーボード ショートカットなどいろいろなソフトウェアで上下左右の移動に使用されています。
「ADM-3A」キーボードのキー配列はこんな感じです。モード変換時に多用する「esc」キーも、現在より使いやすい場所にありますね。
こちらのほうが見やすいかも。
File:KB Terminal ADM3A.svg – Wikipedia, the free encyclopedia
またUnix系のOSではホームディレクトリを「~」で表現しますが、HOMEキーをよく見ると「~」が印刷されています。
ソース:Here is why vim uses the hjkl keys as arrow keys – good coders code, great reuse
関連記事
Windows、Apple、Linux、それぞれのトラブル対処方法を比較してみる - DNA
Linux.comが選ぶ2011年の最も重要なオープンソースプロジェクト10選 - DNA
1960年代の最先端「ベル研究所」のSF映画のような内部写真いろいろ - DNA
初代Windows1.0から最新のWindows7まで、順番にアップデートすると何が起こる? - DNA
CUI環境のLinuxでDropboxを動作させる方法 - DNA