読者です 読者をやめる 読者になる 読者になる

タイトル未定

計算機やゲーム関連の雑記

ローグライクとホームポジション

roguelike vim

タッチタイピングでは右手は基本 jkl; の上にある.カーソル移動を hjkl でやろうと思うと,なんとなく四指を左にキーひとつ分ずらして,人差し指が h の上にくるようにしたくなる(仮にこれを左シフトポジションと呼ぼう)けれど,ホームポジションを崩しちゃうので,こいつはあまり推奨されないということだ.

実践Vim 思考のスピードで編集しよう! (アスキー書籍)』を読んでいて,ウーンとなったのだった. 曰く,

QWERTYキーボードでは、jキー、kキー、lキーは右手の人差し指、中指、薬指がそのまま置かれる場所だ。人差し指はhキーを押すのに使うけど、それには指を動かさなきゃいけない。これを問題だと思う人もいて、そういう人たちは解決策として右手をまるごと左に1文字分ずらすことを勧めてくる。そうすれば、4本の指でh、j、k、lのそれぞれを担当できるようになるから。でも、そんなことはしないでほしい。 これから先を読んでいくとわかるが、Vimにはカーソルをもっと素早く移動するための方法がたくさん用意されている。1行のなかでhキーを3回以上叩いているのなら、それはキーストロークを無駄遣いしている。1行の中を左右に移動するのなら、単語レベルのモーションか文字検索モーションを使ったほうが簡単だ(TIP48、TIP49を参照のこと)。

なるほどなと思う.hl を頻繁に使わなければ,合理的だ.

しかしローグライクゲームで遊んでいると,上下左右の hjkl だけでなく斜め移動に yubn も使うから.ホームポジションに右手を置いていると yb がやや遠いし,人差し指で hjyubn というたくさんのキーを担当するのが忙しい.左シフトポジションだと,ju を中指に任せて人差し指は hybn で済む(人によっては n も中指に割り振れるかもしれない).だからこっちの方が理にかなっているように思われる.

折り合いの付け方は3つある:

  1. 常にホームポジションから崩さない正統派
  2. 左シフトポジションで Vim も操作しちゃう堕落派
  3. 普段はホームポジションで例外的にゲーム中は左シフトポジションの折衷派

これまで堕落派として生きてきたのだった.タイプミス多いし,がんばって正統派に矯正したいけれど,折衷派が現実的かなあと.でも却ってタイプミスが増えそうな気もする.みんなどうしてるんだろうね.