Emacsの「Ctrl-F/Ctrl-B」やviの「hjkl」など有名なエディタのキーバインディングがどのように決まったのか「History of Emacs & vi Keys (Keyboard Influence on Keybinding Design)」にて詳しく説明されていました。このサイトによるとショートカットキーが選択された理由には、キーボードのレイアウトが深く影響しているということ。いったいどういう事情があったのでしょうか。
Emacsの場合
EmacsがMetaとControlを酷使するキーバインディングとなったの、lisp keyboardの影響ということです。lips keyboardの左側のレイアウトを確認すると、Metaキー、Controlキーが押しやすそうな位置にあることがわかります。このレイアウトだとControlキーを多用したキーバインディングを採用したくなる気持ちがわかりますよね。
viの場合
vi開発当時使われていたADM-3Aのターミナルのキーボードを見ると、一目瞭然。hjklの位置に矢印が刻印されていることがわかります。このキーボードを使っていたら、hjklのカーソル移動に何の迷いもないでしょう。
知られざる歴史
長年のEmacsユーザーですが、EmacsがControlキーやMetaキーを使いまくるキーバーインディングになった理由などまったく知らずに生きて来ました。まさかMetaやContrlキーがあんな押しやすい位置にあったとは…想定の範囲外でした。
Aキーの隣をControlキーにしてEmacsを使いまくるのって歴史的みたらすごく変なのかもしれません(汗