on outline processing, writing, and human activities for nature
ぼくは、キーバインド key bind (キーマッピング key mapping) を、Karabiner-Element (以下、Karabiner) でやっています。結城浩さんの以下の記事をよんだのがきっかけです。
「ターミナル上CUIのvimでノーマルモードに戻ったときに日本語入力モードを自動的にオフにする方法(Karabinerを使う)」
2014年の記事。結城さんはここで、Vim でノーマルモードに戻るためにesc
を押すとesc
+英数
、2つのキーを押したことになるキーバインドを行なっています。Vim をつかっている場合限定で、ひとつのキーをふたつのキーに割り当てる、といった複雑なキーバインドも Karabiner なら可能です。
GitHubのコードや説明をよむと、結城さんは、esc
以外のノーマルモードに戻る操作であるcontrol
+[
をタイプしたときにも、esc
の場合と同じ反応が起こるよう設定していることが分かります。Vim ユーザーにとってカユイところに手のとどく、気の利いた設定ですね。
余談ですが、ここで紹介されている結城さんのキーバインド、8年後にあたる今の Karabiner-Element では、数多ある「Complex Modification 複雑な設定変更」のオプションのひとつとして、よりかんたんに設定できます。たぶん、ここで紹介された結城さんのコードが、使われているのだと思います。
*
さて、ぼくのキーバインドの話しに戻ります。
Karabiner は多機能なユーティリティ・ソフトウェアですが、ぼくはやりたいことを大きく3つにしぼって、キーバインドを設定しています。
1. Control key を押しやすい場所に移動する
ぼくは、Emacs を MacBook のUS配列のキーボードでつかっています。US配列では、control
がいちばん下の列の左から2番めにあります。
この位置だと、ホームポジションにおいた左手の小指を、ほんの少し右下へ折り曲げて押すことになります。Emacs では、control
と他のキーの組み合わせを1分間に何度も押すのが普通ですから、ほんの少しでも楽に押せる位置のキーとcontrol
を置き換えたくなります。
考えるまでもなく、caps lock
をcontrol
にしました。ホームポジションの左手小指のすぐ左となりにあるキーです。
あとで知ったのですが、この押しづらい位置にあるcontrol
を押しつづけることで痛められた Emacs ユーザーの左手小指には「the Emacs pinky」という呼び名もついています。
そして Emacs の入門書に、Emacs を使いはじめたあなたが最初にやるべき大きな仕事はcaps lock
をcontrol
にキーバインドすることだ、とかいてあるのを見つけたときは嬉しくなってしまいました (笑)。
2. 日本語/英数の入力切替えをキーひとつで可能にする
US配列キーボードでは、日本語入力と英数入力の切替えは、たとえば、control
+option
+z
といった3つのキーを押す必要があります。このとき、両手がホームポジションから離れることになります。
それを、たとえばひとつのセンテンスの入力中に何度も繰り返すのは、リズムをくずすことになるので、キーひとつの操作で済むようにしたい。しかも、できれば、押しやすい場所のキーにしたい。
そこで、日本語から英数の切替えは、左control
。英数から日本語への切替えは、右option
に設定しました。
たとえばこの記事のように、日本語の中にアルファベットや数字が混ざる文章をかいていると、日本語入力と英数入力の切替えをほんとうに頻繁に行ないます。日本語の論文原稿をかいたり、そうした原稿にコメントするときにも、頻繁に切替えます。
この切替えを楽にすることは、ぼくにとってはかなり大切な問題で、何とおりかのやり方を長く試してきました。
現時点でのベストがこの設定です。
3. 頻繁にタイプする句読点をホームポジションそばに移動する
デフォルトの位置だと、これらふたつのキーは下から2段目の列n
キーの右に並んでいます。
これは、control
同様のホームポジション下側にあり、ほんの少しですが押しにくい位置。ホームポジションにおいたままタイプすると、たまにですがまちがってとなりのキーを押してしまいます。
そこで、ホームポジションの右小指の位置にある semicolon;
、そしてひとつ右どなりにある quote'
と入れ替えました。
*
以上のキーバインドの設定のうち、1 と 3 は、Karabiner の「Simple Modifications かんたんな変更」で設定できます。
2 の設定は少しややこしくて、「Complex Modifications」の以下の設定画面で、「Add rule ルールを追加」のボタンをクリックして出てくる窓の「日本語環境向けの設定」の「CTRLキーを単体で押したときに、英数・かなキーを送信する」を選び、ダウンロードします。下の図は、ダウンロードしたあとの状態です。
この設定では、左control
が英数キー、右control
がかなキーに設定されるのですが、MacBook のUS配列には右control
がありません。そこで、右 option
を右control
にキーバインドするのと合わせて使っています。上の「Simple Modifications」の図にある2の設定です。
*
この3つは、どれもホームポジションからできるだけ手を離さずに行なう、指の小さな動きで文章をかいたり編集したりするための、細やかな工夫のつもり。
ぼくのまわりには、ホームポジションにこだわらず、高速でタイプできる人がたくさんいます。そういう人には、あまり役に立たないように見える話しですね (笑)。
それでもぼくは、tks さんが以下の記事にかいてくださった、カーソル移動をキーボードで行なうことへのこだわりに、大いに賛同します。
これこそ、ぼくが Org mode (Emacs) をつかいたい大切な理由のひとつです。もう7年前になりますが、以下の記事をかきました。
Org はテキストの樹の中を鳥のように移動する機能をそなえた、ぼくにとって理想の「文章エディタ」なのです。
そして、ここで紹介したキーバインディングは、その補助にあたるもの。
え? キーボードの配列変えちゃうなんて、メンドクサソウ?? ちがうコンピュータつかうときに困りそうだって???
たしかに、そのとおり (笑)。