IMEのON/OFF切り替えが人間には不可能な件
コーディングに関わらず、日本にいる限り日本語を入力することは避けられないことだと思われます。
しかし、この切り替えを行うためのトリガーとなっている半角/全角キーは人の手が届かない場所に配置されています。
日本で生きていくために、キーバインドでホームポジションに近づけます。
IMEのプロパティ、キー設定ツールで以下のように設定を行います。
これにより、IME ON/OFF 周りで以下のような操作が設定されます。
- 文字入力状態外で無変換を押すと必ず IME が OFF になる
- 文字入力状態外で変換を押すと必ず IME が ON になる
- 文字入力中に無変換を押すと入力中の文字が半角になる(F8と同じ動作)
- 文字入力中に変換を押すと入力中の文字が全角英数字になる(F9と同じ動作)
- 文字入力中にひらがな/カタカナを押すと入力中の文字が全角カタカナになる(F7と同じ動作)
IMEのON/OFF以外に、日本語を入力する際に良く使うファンクションキーの動作を親指で自然に押すことのできるキーへ充てることで、人間の指でも無理なく日本語が打てるようになります。
よく使うキーが人外の域にいる件
日ごろコードを書く上で使うキーとして Enter や BackSpaceがあります。
また、自分はエディタとしてvimを使っているため、ショートカットのための Ctrl やノーマルモードへ戻るための Esc も非常に頻繁に使います。
これらのキーは、非常に良く使われるにもかかわらず、人の手では到達することができない、人外の域に生息しています。
キーバインドでホームポジションに近づけるしか生きる術はないでしょう。
以下を dot.nodoka に追記し、再読み込みを行います。
https://gist.github.com/1130249
これによって、以下のキーバインドが設定されます。
- CapsLockキーを一度押すとEscが入力される
- CapsLockキーを押しながら別のキー(例えばx)を入力すると、Ctrl + x が入力される
- Ctrl + h(つまり、CapsLock + h)を入力すると、BackSpaceが入力される
- セミコロンを入力すると、Enterキーが入力される
- Ctrl + ; を入力すると、セミコロンが入力される
ここで、最も異質なのがセミコロンをEnterとしてしまうところですが、Enterキーというのはコーディングにおいて最もよく使うキーのひとつであることは自明なので、セミコロンを退避させてEnterキーに差し替えることはそれほど不自然なことではないでしょう。
一部の記号が人間に押されることを考慮していない件
コーディングにおいては、キャップ(^)やバックスラッシュ(\)等、一般の会話では用いられない記号を打ち込まなければならない場合が多々あります。
しかし、これらのキーはあまり用いられないためか、人間に押されることを考慮していない位置のキーに配置されています。
コーディングを続けるためにはキーバインドで我々だって人間なんだということを主張しなければなりません。
以下を dot.nodoka に追記して、再読み込みします。
https://gist.github.com/1130266
この設定によって、以下の記号を日ごろ打つ我々も人間なんだと主張することができます。
- ^ (Ctrl + 無変換)
- ~ (Shift + 無変換)
- | (Shift + Space)
- - (Ctrl + 変換)
- _ (Shift + 変換)
- = (Ctrl + ひらがな)
- + (Shift + ひらがな)
- \ (Ctrl + /)
- ` (Ctrl + ‘)
Shift + Space はブラウジングなどで用いる可能性があるため、充てることができないかもしれません。適宜調整してください。
キーを拡張しても今までのキーを押してしまって慣れることができない
人に押すことのできないキーを押す技術を身に付けてしまったことで、本来の人間の姿を取り戻せなくなってしまった場合、どうにか矯正を行っていくしかありません。
以下のキーバインドを設定することで、人外の力を制限することができます。
https://gist.github.com/1130276
この制限は非常に強力なものであるため、よく考えて使う必要があります。
人外の力が弱まり必要がなくなったり、ストレスで寝込んでしまうなどの症状が現れたりした場合は、冒頭に # でコメントアウトしながら調整を行いましょう。
人間の手について考えながらキーを配置していたら自分のキーボードを触る人が居なくなった
キーバインドについて深く考察を進めていると、次第に自分のキーボードを触る人が減ってくる可能性があります。
キーの配置は人それぞれ最適なものが異なるため、自分に最適なものを突き詰めていくに従い、その他の人の最適なキー配置との距離が次第に広がっていくことは仕方がないことです。
しかし、ペアプログラミングや何かちょっとした操作を人に行ってもらうときなどに、自分以外の人が触ることのできないままでは、何かと不都合が発生します。
そのため、以下の一行を追加して人に使用してもらうときはあらゆるキーバインドを一度リセットする準備をしておきます。
key Pause = &LoadSetting("日本語 109 キーボード")
この設定により、Pauseキーを押すことで、それ以後、そのキーボードは元の「人間には扱いづらい一般的なキー配置」の姿に戻ります。
再度自分の作業に戻るときは、のどかの設定から再読み込みを行いましょう。
最後は自分で設定する
これはキーバインドに限ったことではないですが、設定はできる限り自分で一度書いてみるのが良いと思います。
自分で書くことで、「この配置はちょっと違和感があるが、変更するのが面倒」、「ここにこのキーを配置すればうまいこと行きそうだけど、設定方法が分からない」、「この文字を打ちたいのに何処に配置したか忘れてしまった」というようなことが少なくなってきます。
まとめ
以上、長々とキーボードの人間最適化について書きました。
まとめると、
- キーボードはコーディングを行う人間に適した配置になっていない
- 人間の手に適したキー配置を行うことで一日30分節約できる(かもしれない)
- キーバインドソフトはのどか(or 窓使いの憂鬱関連)がお勧め
- とりあえず以下を設定するとキー配列のKMNK最適化が行われる
- キーバインドは一日してならず
という感じになった気がします。
紹介した以外にも自分最適化のために設定しているキーバインドはいくつかあるのですが、これは仕事環境や用いているエディタなどに依存してくるため、今回紹介はしませんでした。
自分の現行の設定はgitの構成を変更していなければおそらく以下から見られると思います。
https://github.com/kmnk/config/blob/master/dotfiles/dot.nodoka
何かおかしかったり、より良い設定などがあればお知らせいただけると非常にうれしいです。
また、こんなキー配列にしたらすごく捗るよ!とかも教えていただけると有り難いです。
ついこの前も、ずいぶん昔の記事なのですが、 http://pi200k.blog35.fc2.com/?no=70 のような配置を実践している方が居て、非常に夢がふくらみました。
Kinesisを買うことも一つの答えではあると思うのですが、どのマシンでもキーボードでも設定ファイルさえ読み込めば自己最適化されるというようなキー配置を色々と模索して、新たな配置を考えたら垂れ流していきたいと思います。
コメント
コメントを投稿