LoginSignup
37

More than 5 years have passed since last update.

Emacsが大好きな僕がIntelliJ IDEA導入時に行ったkeymap設定の紹介

Last updated at Posted at 2013-12-07

emacs大好き! 改め、

emacsの keymap(キーバインド) 大好き!

な僕がIntelliJ IDEA導入後に行ったkeymap設定をご紹介します(*´ڡ`●)

僕のエディター遍歴

※2013年12月現在、エンジニア歴(=社会人歴)は5年です。

エディター 開発言語
1年目 emacs PHP
2~3年目 vimとemacsをウロウロ PHP
4年目 Eclipse Java
5年目 IntelliJ IDEA Java

プログラミングで初めて使った(※1)エディターがemacsでした。

最初はemacs特有のCtrl + xxAlt + xx系の操作に四苦八苦しながらも、慣れるともう、Ctrlキー(※2)が左手小指の定位置になっていました。

というわけで、根っからのemacs厨(※3)になった僕はJavaを書くことになったときも、Eclipseにemacsの一部のkeymapを移植して使っていました。

PHPの開発ではIDEを使ったことがなかったので、IDEの便利機能に感動しながら、さらにemacsのkeymapでハッピーな日々を送りました。

そして、今春のある日、チームにIntelliJが導入され、これはもうIntelliJでもemacsのkeymapを使うしかないわけで、以下で紹介する設定を行ったわけです。

※1…仕事として本格的に
※2…キーボード左下のCtrlキーではなく、CapsLockキーをコレでCtrlキーに変更
※3…でもこのとき気づいたんです。僕はemacsを愛していたわけではなく、emascのkeymapを愛していたのです∑(゚д゚lll)

僕のキラキラkeymap設定

EclipseにもIntelliJにも、もともとemacsやvimのkeymapが同梱されており、設定で切り替えることができるのはご存知かと思います。

なので、最初は、IntelliJに同梱されているemacsのkeymapをカスタマイズしようかと思いました。が、やめました。

IntelliJはインテリジェンスで素晴らしいエディターなので、デフォルトの機能を最大限に活かしたい と思ったのです。(これは、IntelliJマスターの同僚の受け売りです。)

※Eclipseでも、Eclipseデフォルトのkeymapにemacsのkeymapを自力で移植して使っていました。
※IntelliJのkeymapをカスタマイズする際は、まず、ベースとなる設定をcopyしてから始めてください。
a.png
b.png

具体的な設定内容

僕は以下のemacsのkeymapを、IntelliJのデフォルトのkeymapに移植しました。

  • Ctrl + A Move Caret to Line Start
  • Ctrl + E Move Caret to Line End
  • Ctrl + K Cut up to Line End
  • Ctrl + Y Paste
  • Alt + V Page Up
  • Ctrl + V Page Down

あと、Eclipseにはあったけど、IntelliJではキー未割り当てのコマンドも設定しています。

  • Ctrl + D Delete Line
  • Ctrl + Alt + ↓ Duplicate Line or Block
  • Alt + ↑ Move Line Up
  • Alt + ↓ Move Line Down

書き出してみると案外少ないですが、この設定をするしないでは、自分の作業効率が大きく変わってきます。

でもこうやって、IntelliJデフォルトのkeymapをカスタマイズすると 2つの問題 がでてきます。

keymapのカスタマイズによる問題

1つ目:コマンド同士の競合

良い例としては、通常Ctrl + Aに割り当てられている "Select All (テキスト全選択)" です。

この場合は、 Select All の定義をCtrl + Alt + Aに変更しました。

同様に他にも被るコマンドについては、AltキーまたはShiftキーを定義に追加しました。

※キーの割り当て状況はここでわかります。
1.png
 ②の上でキーを押すと、そのコマンドを絞り込んで表示してくれます。
2.png
(変更済みのコマンドはIntelliJが青色で教えてくれます。)

2つ目:他のメンバーのIntelliJが使いにくい

知らんがな

まとめ

IntelliJ IDEAを導入する大きな目的の1つが、作業効率アップだと思います。
自分好みのkeymapで気持ちよくコーディングできればさらに効率アップ間違いなしです!

ぜひIntelliJをあなた色に染めてあげてください!!

--
P.S. 最近はSublime Text にお熱です。もちろん、sublemacspro でな( ー`дー´)キリッ

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
37