概要
プラグイン無しのVimでJavaを書いてみたが限界を感じ初IDEデビューした。
しかし、デフォルト設定のIntellijは辛いので色々カスタマイズした。
ちなみに今までVimで書いてきた言語はPython, R, Go, Ruby, PHP, JavaScriptなど。
環境
- Mac Mojave version 10.14.6
- Intellij IDEA 2021.1.3(Community Edition)
Vimプラグイン
操作をVimにするために、以下3つを入れる。
自動インデント無効、(), [], {}, <>補完無効
余計なお世話。以下全てチェックを外す。しかし、自動インデント無効は完全にはできないみたい。。
Preferences -> Editor -> Smart Keys
コード補完無効
以下のチェックを外す。これは便利なんだけど、でもコード補完してたらプログラム覚えなくないか?
Preferences -> Editor -> General -> Code Completion
command -> ctrlにキーバインド変更
これに関しては、Intellijの設定ではなく、Karabiner-Elementsを使う。
まず、もともとcaps lockをcommandにするため、Karabiner-Elementsで既に以下のような設定をしている。(ちなみにUSキーボード)
つまり、以下のようにしたい。
物理ボタン | mac操作時 | Intellij操作時 |
---|---|---|
caps_lock | left_command | control |
left_command | right_command | right_command |
left_commandをright_commandにしているのは、Intellij操作時に、物理caps_lock(論理left_command)をcontrolに変更すると、物理left_commandもcontrolに変更されてしまい、キーボード左下にcommandボタンがなくなってしまうので、right_commandに置き換えることで影響を受けないようにしている。
Karabiner-Elementsで独自ルールを作成する
~/.config/karabiner/assets/complex_modifications/以下に独自ルールjsonを設置すると、Karabinerのcomplex_modificationsで読み込むことができる。
ファイル名は任意だが、ここではintellij.jsonという名前でファイルを作る。
{
"title": "The setting for Intellij",
"rules": [
{
"description": "From left_command to left_control in Intellij",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_command"
},
"to": {
"key_code": "left_control"
},
"conditions": [
{
"type": "frontmost_application_if",
"bundle_identifiers": [
"^com\\.jetbrains\\.intellij"
]
}
]
}
]
}
]
}
left_commandをleft_controlに変更する設定だが、bundle_identifiersで特定のアプリケーションのときだけ実行されるように条件を指定する。
アプリケーション名の調べ方は以下を参照。
"karabiner-EventViewer"で調べる場合、まず、"karabiner-EventViewer"を立ち上げ、次に調べたいアプリを開くか、"⌘-Tab"でアプリを選択すれば、"karabiner-EventViewer"の"Frontmost Application"画面にアプリの名称が表示されます。指定するアプリの名称は、正規表現でも指定できます。
https://qiita.com/s-show/items/a1fd228b04801477729c#conditionsbundle_identifiers
Karabiner-Elementsで独自ルールを読み込む
Complex modificationsタブのAdd ruleをクリック
これでIntellijを使うときだけ、left_commandがleft_controlになる。
iTerm2
Intellijの話とは関係ないが、iTerm2操作時は、iTerm2の設定でcommandとcontrolを入れ替える設定をしている。
Preferences -> keys -> Remap Modifiers
以上