僕のMacのキーバインド設定(i,j,k,l)を披露させてください!

# はじめに
ついにMacを買った大学生の皆さん。おめでとうございます。かっこいいです。可愛いです。ただ、あと一歩です。大学でMacを使っている人をよく見かけます。しかし、彼らがプログラミングをしているときに、レポートを書いているときに、いちいち矢印キーをポチポチしているのを見ると、「惜しい！」と思います。矢印キーに手を伸ばさない人が本当にかっこいい、可愛い人だと思います。そこで、今回はMacを買った人向けに快適でかっこいい可愛いキーバインド設定を紹介したいと思います。有名なKarabiner-Elementsを使います。設定としては、「英数」+「i, j, k, l」で「↑,←, ↓, →」、「英数」+「d」でdelete、「かな」キーのみで英数・かな入力を切り替え、ができるようにします。

# 環境
MacBook Pro 2017, MacOS v11.2.3
Karabiner-Elements v13.5.0

# 構築手順
### Karabiner-Elements のインストール
Karabiner-Elementsは<https://karabiner-elements.pqrs.org>からインストールしてください。

### Commandキー　+ i, j, k, l で ↑,←, ↓, →
最初なのでスクショも載せます。
もうすでに4つ「Enabled rules」が表示されていますが皆さんはこれからです。何も表示されてなくても大丈夫です。
![スクリーンショット 2021-06-27 22.58.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1548368/769a7c06-d2fe-c791-458c-5aea722acc25.png)
Karabiner-Elementsを開いて「Complex modifications」タブの左下の「Add rule」をクリック。
「Import more rules from the internet (open a web browser)」をクリックするとブラウザが開きます。
検索欄に「i/j/k/l」と入力すると検索結果に表示される「Change Modifier key + i/j/k/l to arrow keys」をインポート
![スクリーンショット 2021-06-27 23.02.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1548368/6f1667a9-ab3e-e65a-5470-505bba439684.png)
Karabiner-Elementsに戻ってもう一度「Complex modifications」タブの左下の「Add rule」をクリック
「Change Modifier key + i/j/k/l to arrow keys」欄の「Change Command + i/j/k/l to Arrows」の「Enable」をクリック
![スクリーンショット 2021-06-27 23.11.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1548368/e6640734-a446-d104-0ec4-d1c1fece3711.png)
これでカーソル移動は「Command + i/j/k/l」でできるようになりました。

### 左Commandキー + d でdeleteキー
今度は、まずJSONファイルで書かれたバインド設定を見てみましょう。これは私がイチから自分で書いたわけではなく、ネットから引っ張ってきたものをカスタマイズ(ほぼ削っていっただけだが...)したものです。

```json
{
"title": "left_command + d（delete）",
"rules": [
    {
        "description": "left_command + d（delete）",
        "manipulators": [
            {
                "type": "basic",
                "from": {
                    "key_code": "d",
                    "modifiers": {
                        "mandatory": [
                            "left_command"
                        ],
                        "optional": [
                            "any"
                        ]
                    }
                },
                "to": [
                    {
                        "key_code": "delete_or_backspace"
                    }
                ]
            }
        ]
    }
]
}
```
いま書き方のルールを覚える必要はありません。これをコピーしてエディタに貼り付け、「left_cmd_and_d_to_delete.json」という名前で保存してください。保存する場所は「/Users/ユーザ名/.config/karabiner/assets/complex_modifications」です。
.configファイルが見つからないときはこれを参考に。<https://pc-karuma.net/mac-finder-show-all-files/>
Karabiner-Elementsに戻って、先程と同じようにもう一度「Complex modifications」タブの左下の「Add rule」をクリック。
「left_command + d (delete)」欄の「left_command + d (delete)」の「Enable」をクリック。
これでleft_command + dキーでdeleteキーを押したときと同じになります。

### かなキーだけで「英数⇔かな」の切り替え
本記事では最終的に英数キーがトリガーの役目を果たすので英数キーの「英数入力に切り替える」という役割をどこかに移行しなければなりません。そこで、かな入力のときに「かなキー」を押すと英数入力に、英数入力のときに「かなキー」を押すとかな入力になるように設定します。
Karabiner-Elementsを開いて「Complex modifications」タブの左下の「Add rule」をクリック。
「Import more rules from the internet (open a web browser)」をクリックするとブラウザが開きます。
検索欄に「For Japanese」と入力すると検索結果に表示される「For Jananese (日本語環境向けの設定)　(rev 6)」をインポート
Karabiner-Elementsに戻ってもう一度「Complex modifications」タブの左下の「Add rule」をクリック
「For Jananese (日本語環境向けの設定)　(rev 6)」欄の「英数・かなキーをtoggle方式にする」のみ「Enable」をクリック。
これでかな入力のときに「かなキー」を押すと英数入力に、英数入力のときに「かなキー」を押すとかな入力になるように設定できました。

### 英数キー を 左Commandキーにする
以下のJSONファイルを先ほどと同じ場所に保存してください。このファイルは以下のサイトを引用いたしました。
<https://gist.github.com/ktakayama/6bb0d37f90ad46117c00fc64b6621a16>

```json
{
  "title": "英数キーをコマンドキーにする",
  "rules": [
    {
      "description": "英数キーを単体で押したときに、コマンドキーを送信する。",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "japanese_eisuu",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_command"
            }
          ],
          "to_if_alone": [
            {
              "key_code": "japanese_eisuu"
            }
          ]
        }
      ]
    }
  ]
}
```
Karabiner-Elementsを開いて「Complex modifications」タブの左下の「Add rule」をクリック。
「英数キーをコマンドキーにする」欄の「英数キーを単体で押したときに、コマンドーキーを送信する。」の「Enable」をクリック。
これで英数キーを押すとコマンドーキーを押したことになります。

### 順番
最後に「Complex modifications」タブで以下の「Up」、「Down」ボタンを使って4つの「Enabled rulesが」以下のスクショのような順番になるようにしてください。
![スクリーンショット 2021-06-27 22.58.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1548368/9bf18112-e811-0857-08db-c1668415deca.png)
これで設定は完了です。

# まとめ
本設定を完了すると以下のことが可能になります。

* 「英数」+「i, j, k, l」で「↑,←, ↓, →」とカーソル移動
* 「英数」+ 「d」で delete
* 「かな」キーのみで、英数、かな入力を切り替え

なるべくJSONファイルを直接編集する必要がないようにしました。
今回は、もともとあるバインドを組み合わせることで、好みの設定を完成させましたが、レベルアップのために、自分オリジナルの設定をJSONで書いてみると良いと思います。それでは皆さん、快適なMacライフを!

[Ubuntu編はこちら！](https://qiita.com/guchipon/items/a038ae156a670123cd16)