Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

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 でな( ー`дー´)キリッ

rakus
「IT技術で中小企業を強くします!」というミッションを掲げ、中小企業の業務効率化に貢献する複数のクラウドサービスを提供しているIT企業です。「楽楽精算」「メールディーラー」など、国内トップシェアを誇る複数のサービスを開発し、累計導入社数は5万社を超えています。次の時代の"楽"を創るための、まだ見ぬサービスや機能を生み出す取り組みは、今日も続いています。
https://www.rakus.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした