Karabiner-Elementsで始めるMacのEmacsキーバインド設定方法

Mac

こんにちは。仁科(@nishina555)です。

以前、『方向キーいらず!テキスト編集が捗るMacショートカットキーまとめ』でMacのキーバインド(ショートカットキー)について紹介をしました。

方向キーいらず!テキスト編集が捗るMacショートカットキーまとめ

記事で紹介をしているように、Macでテキスト編集を行うときのキーバインドはEmacsがベースとなっています。

しかし、Emacsで使えるキーバインドが全てMacのテキスト編集で使えるわけではありません。

例えば「Ctrl + w」はカーソル左の1単語を削除する便利なキーバインドです。
ターミナルのデフォルトのキーバインドもEmacsベースなので、「Ctrl + w」が使えるのですが、Macのテキスト編集では利用することができません。

意外と知らない?ターミナルキーバインドまとめ

ターミナルで使えたキーバインドがMacのテキスト編集では使えないのは不便ですよね。

MacのキーバインドをカスタマイズするツールにKarabiner-Elementsというものがあります。

Karabiner-Elementsの概要については『Karabiner-ElementsでMacのキーバインドをカスタマイズ・変更しよう』の記事で紹介しました。

Karabiner-ElementsでMacのキーバインドをカスタマイズ・変更しよう

そこで今回は、Karabiner-Elementsを使ってMacでEmacsのキーバインドが利用できるようにする方法について解説をしたいと思います。

MacのCaps LockキーとControlキーの配置を入れ替える

キーバインドを多用している人であればCaps LockキーとControlキーの配置を入れ替えている人は多いと思います。

EmacsのキーバインドではControlキーがよく使われるので、Caps LockキーとControlキーを入れ替えることをオススメします。

設定手順はまず、『システム環境設定→キーボード→修飾キー』と進みます。

Macのシステム環境設定画面

Macのキーボード設定画面

修飾キーの役割を選択できる項目があるので、ここでキーの入れ替えを行います。

Macのキーマップを変更する画面

Emacsのキーバインド設定をKarabiner-Elementsにインポートする

Karabiner-Elementsではキーバインドを独自で設定することが可能ですが、すでに用意されたキーバインドの設定をインポートして利用することも可能です。

Emacsのキーバインドに関しても公開されているものがあるので、設定をインポートするだけでMacでEmacsのキーバインドが使えるようになります。

キーバインドのインポートはComplex Modificationsという項目から行います。

まず、『Add rule』をクリックします。

Karabiner-ElementsのAdd rule

次に『Import more rules…』という項目を選択します。

Karabiner-ElementsのImport rules

インポート可能なキーバインドの一覧が表示されたサイトが立ち上がります。Emacsのキーバインドをインポートする場合、以下の項目を選びます。

Karabiner-ElementsのEmacsパッケージインストール

インポートが完了すると適用可能なキーバインドの一覧に表示されます。『Enable』を押すことで実際に自分の環境のキーバインドとして適用されます。

Karabiner-ElementsのEnable

『Enale』を押すと『Rules』に追加されます。『Rules』に表示されている内容が実際に適用されるキーバインドとなっております。
『Rules』の一覧にEmacsのキーバインドの設定が入っていれば、設定が反映されたことになります。

Karabiner-ElementsのRules一覧

ちなみに、Karabiner-ElementsではEmacsのキーバインド以外にも便利なキーバインドが公開されているので気になったものはインポートして使ってみるといいでしょう。

Karabiner-Elementsの設定をMacに適用させる

Karabiner-Elementsでキーバインドの設定が完了したら、Macのキーボードに設定を適用させる必要があります。

この作業を行わないと、Karabiner-Elementsのキーバインドが利用できないので忘れないようにしましょう。

Karabiner-Elementsの設定の適用はDevicesという項目で行います。

Karabiner-Elementsの設定を適用させたいデバイスにチェックをいれることで実際にキーバインドが利用できるようになります。

『Apple internal Keyboard』というのがMacのキーボードなので、ここにチェックをいれることでMacのキーバインドが拡張されます。

Karabiner-Elementsで設定されたEmacsのキーバインドが正しく適用されていれば、今まで使えていなかった「Ctrl + w」のキーバインドがMacで利用できるようになります。

Karabiner-Elementsを有効化したらCaps LockキーとControlキーが入れ替わらない時の対応方法

Karabiner-Elementsを利用するにあたり、注意することがあります。

それは、すでにCapsLockキーとControlキーを入れ替えていた場合、Karabiner-Elementsを適用させると、入れ替えた設定が無効化されてしまうということです。

Karabiner-Elementsを利用している状態でもCapsLockキーとControlキーを入れ替えるためには、Karabiner-Elementsにもキーの入れ替えの設定を追記してあげる必要があります。

設定方法は2つあるのでそれぞれ紹介します。

Macのシステム環境設定でキーマッピングを行う

Karabiner-ElementsのキーマッピングはMacのシステム環境設定から行うことができます。
冒頭で説明した手順で修飾キーの設定変更の画面にいくと、Karabiner-Elementsに関する項目があります。

Karabiner-Elementsの修飾キーを入れ替えることで、Karabiner-Elementsを適用した場合もCapsLockキーとControlキーが入れ替わった状態になります。

Karabiner-ElementsのキーをMacで変更する

Karabiner-Elementsのキーマッピングを追加

Karabiner-Elementsの設定画面にもキーマッピングを設定する箇所があります。

キーマッピングはSimple Modificationsという項目で行えます。

『From_kye』に変更対象のキー、『To_key』に変更後のキーを設定します。
この画面で、以下の画像のようにCapsLockキーをControlキーを入れ替えることでキーマッピングが設定できます。

Karabiner-ElementsのSimple Modifications

まとめ

これで、Karabiner-Elementsを使ってMacでEmacsのキーバインドが利用できるようにする方法の説明を終わります。

MacでEmacsのキーバインドが使えるようになると、ホームポジションからほとんど手を動かさなくてもサクサクとテキスト編集ができるようになります。

キーバインドを多用して作業の効率化をしていきましょう!

この記事がいいなと思いましたらツイッター(@nishina555)のフォローもよろしくお願いします!