【トリビア】Emacsとviのキーバインディングの秘密

NewImage

Emacsの「Ctrl-F/Ctrl-B」やviの「hjkl」など有名なエディタのキーバインディングがどのように決まったのか「History of Emacs & vi Keys (Keyboard Influence on Keybinding Design)」にて詳しく説明されていました。このサイトによるとショートカットキーが選択された理由には、キーボードのレイアウトが深く影響しているということ。いったいどういう事情があったのでしょうか。

Emacsの場合

NewImage

EmacsがMetaとControlを酷使するキーバインディングとなったの、lisp keyboardの影響ということです。lips keyboardの左側のレイアウトを確認すると、Metaキー、Controlキーが押しやすそうな位置にあることがわかります。このレイアウトだとControlキーを多用したキーバインディングを採用したくなる気持ちがわかりますよね。

viの場合

NewImage

vi開発当時使われていたADM-3Aのターミナルのキーボードを見ると、一目瞭然。hjklの位置に矢印が刻印されていることがわかります。このキーボードを使っていたら、hjklのカーソル移動に何の迷いもないでしょう。

知られざる歴史

長年のEmacsユーザーですが、EmacsがControlキーやMetaキーを使いまくるキーバーインディングになった理由などまったく知らずに生きて来ました。まさかMetaやContrlキーがあんな押しやすい位置にあったとは…想定の範囲外でした。

Aキーの隣をControlキーにしてEmacsを使いまくるのって歴史的みたらすごく変なのかもしれません(汗

スポンサーリンク