はじめに

Karabiner-ElementsはMacのキー配置をカスタマイズできるツールである。少し前にVimを始めてからいつかは導入しないといけないと思っていたが、億劫でやっていなかった。

📘【Raycast】Hyper Keyを設定するでCaps LockをEscに変更し、Google日本語入力の設定でEscでIMEを無効化して凌いでいた。しかしこれはあくまで付け焼き刃に過ぎず、Karabiner-Elementsを使えば全て解決できる問題が山積してきたので、重い腰をあげて導入してみた。

結論から言うと、「早めに導入すればよかった」。

セットアップ

brew install --cask karabiner-elements

幾つか権限の設定を案内どおりに行えば完了する。~/.config/karabiner/karabiner.jsonに設定を書き込めば良い。今の時代LLM任せが一番楽だと思われる。

Caution

dotfilesなどにシンボリックリンクを送っている状態でGUIで設定を追加するとシンボリックリンクが上書きされるので注意。

Escで英数を送る

Google日本語入力の設定でEscでIMEを無効化する場合、一度に送られるキーは1個ずつなので、insert modeでEscを押すとまずIMEが無効化され、もう一度Escを押して初めてinsert modeを抜けられる。つまり2回叩かないといけないという問題がある。

ここでKarabiner-Elementsを使用して、CapsLockを「japanese_eisuu→esc」と2つのキーを送るようにすると1回で済むようになる。これは非常に快適である。

アプリ切り替え時

アプリ切り替え時のIMEの制御はHammerspoonの自作Spoon(プラグイン)のHantenを使用しているので、隙がなくなった。

Hyperkeyの位置

Caps Lockを長押しでHyperkeyにする場合、ちょっと遠い。単押しEscはまぁ良いとして、modifierとしてはちょっと小指がきつい。そこで長押しHyperkeyにjapanese_eisuuも追加した。

Keyboard keybindings

10キーみたいなものを作る

ノートパソコン疑似テンキーを作ることにした。

Keyboard keybindings

  • Ctrl + L-Shiftをmodifierにして0~9を入力する。
  • R-ShiftをmodifierにしてShift+0~9を入力する。
  • fnをmodifierにしてfn+Fキーを入力する(-^¥が10~12)。

Keyboard keybindings

これを追加することで、10キー配置ではないキーボードでも電卓のように使えるようになり、地味によく使う「“」や「!」などの特殊文字も打ちやすくなった。

矢印キーをhjklに割り当てる

hjklに慣れると矢印キーがすごく遠く感じる。個別設定しても良いが、常にhjklが使えてほしいのでCtrl+hjklを矢印キーの代わりにした。

Keyboard keybindings

Fn→F10

Fnは単押しすることのないキーなので、比較的よく使うF10を配置する。

Keyboard keybindings

おわりに

ざっくりだが、とりあえずこれだけ設定してみた。Fキーと数字キー、矢印キーを押す必要がなくなりだいぶ快適度が増した。ザクがシャア専用ザクになってきたような感じだ。こういう「絶対便利だけど設定が面倒くさそう」な所にLLMを使うのが最近のマイブームである。