2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

プラグイン無しのVimで長年開発してきたエンジニアがIntellijを使うときの設定

Last updated at Posted at 2021-07-10

概要

プラグイン無しの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 -> Plugins
212911409_826422564915604_5779204695172392444_n.png

自動インデント無効、(), [], {}, <>補完無効

余計なお世話。以下全てチェックを外す。しかし、自動インデント無効は完全にはできないみたい。。

Preferences -> Editor -> Smart Keys
217034381_824548534859541_8651139003555752664_n.png

コード補完無効

以下のチェックを外す。これは便利なんだけど、でもコード補完してたらプログラム覚えなくないか?

Preferences -> Editor -> General -> Code Completion
213579588_245928330363257_2687119998372472016_n.png

command -> ctrlにキーバインド変更

これに関しては、Intellijの設定ではなく、Karabiner-Elementsを使う。

まず、もともとcaps lockをcommandにするため、Karabiner-Elementsで既に以下のような設定をしている。(ちなみにUSキーボード)
Screen Shot 2021-07-11 at 14.08.00.png

つまり、以下のようにしたい。

物理ボタン 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に置き換えることで影響を受けないようにしている。

IMG_5095.jpg

Karabiner-Elementsで独自ルールを作成する

~/.config/karabiner/assets/complex_modifications/以下に独自ルールjsonを設置すると、Karabinerのcomplex_modificationsで読み込むことができる。
ファイル名は任意だが、ここではintellij.jsonという名前でファイルを作る。

~/.config/karabiner/assets/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をクリック
Screen Shot 2021-07-11 at 14.10.24.png

追加したruleをEnableにする。
Screen Shot 2021-07-11 at 14.08.18.png

これでIntellijを使うときだけ、left_commandがleft_controlになる。

iTerm2

Intellijの話とは関係ないが、iTerm2操作時は、iTerm2の設定でcommandとcontrolを入れ替える設定をしている。

Preferences -> keys -> Remap Modifiers
Screen Shot 2021-07-10 at 12.25.35.png

以上

関連

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?