Emacs使いな人向けの IntelliJ IDEA のキーマップカスタマイズとチートシートです。
-
チートシートは、ちょくちょく追記していきます。
-
2018/4/1時点で、Emacs+ Patchedプラグインが IDEA 2018.1 に対応していない ため、IDEA 2018.1 ではいくつかのキーバインドが効かなくなるので注意してください。
- 2018/4/4 IDEA 2018.1 対応版がリリースされました。
-
2018/11/30 IDEA 2018.3 から一部のキーバインドが効かなくなりました。
例えば Alt+Y
は Yank-pop アクションに割り当てられているのですが、¥
が入力されてしまいアクションが発動しません。(他にも Alt+@
の Extend Selection も €
が入力されてしまって効きませんし、他にも効かなくなっているキーバインドがあると思われます)
回避策としては Fn
キーを組み合わせて Fn+Alt+Y
のようにするとアクションが発動します。
- 2018/12/18 IDEA 2018.3.2 で解消されました。
プラグイン
IDEAはデフォルトでEmacsキーマップが選択可能になっていますが、いくつか不満があるのでプラグインを導入して改善します。
キーマップの変更
-
Preferences -> Keymap で Emacs+
を選択し、Duplicate... でコピーを作成します。
-
Preferences -> Appearance & Behavior -> Presentation Assistant で、Main keymap に作成したコピーを指定します。
- お好みで、Alternative Keymap に表示させたいキーバインドをもう1つ指定できます。
- コピーして作成したキーマップをカスタマイズします。
|変更|キーバインド|アクション|
|----|----|----|----|
|追加|Ctrl+X
, Ctrl+B
|Switcher|
|追加|Ctrl+X
, 5
|Next Project Windows|
|追加|Ctrl+X
, D
|Tool Windows / Project|
|追加|Alt+Shift+=
|Compare Files|
キーバインドのチートシート
- アクションが
xxxx-xxxxx
のような名前の操作は、Emacs+ Patched
プラグインによって追加された操作です。
基本
移動
キーバインド |
アクション |
説明 |
Emacs相当 |
Ctrl+F |
Right |
カーソルを右に移動。 |
同左 |
Ctrl+B |
Left |
カーソルを左に移動。 |
同左 |
Ctrl+P |
Up |
カーソルを上に移動。 |
同左 |
Ctrl+N |
Down |
カーソルを下に移動。 |
同左 |
Alt+F |
forward-word |
カーソルを右の単語に移動。 |
同左 |
Alt+B |
backward-word |
カーソルを左の単語に移動。 |
同左 |
Ctrl+A |
Move Caret to Line Start |
カーソルを行の先頭にジャンプ。 |
同左 |
Ctrl+E |
Move Caret to Line End |
カーソルを行の末尾にジャンプ。 |
同左 |
Alt+V |
page Up |
ページを上に移動。 |
同左 |
Ctrl+V |
Page Down |
ページを下に移動。 |
同左 |
Ctrl+L |
recenter-top-bottom |
カーソル行を、ページの中心/先頭/末尾に移動。 |
同左 |
Alt+Shift+< |
Move Caret to Text Start |
カーソルをファイルの先頭にジャンプ。 |
同左 |
Alt+Shift+> |
Move Caret to Text End |
カーソルをファイルの末尾にジャンプ。 |
同左 |
Ctrl+Alt+D |
Move Caret to Code Block End |
カーソルをコードブロックの } にジャンプ。 |
- |
Ctrl+Alt+U |
Move Caret to Code Block Start |
カーソルをコードブロックの { にジャンプ。 |
- |
編集
キーバインド |
アクション |
説明 |
Emacs相当 |
Ctrl+D |
Delete |
1文字削除。 |
同左 |
Alt+D |
kill-word |
単語削除。 |
同左 |
コピー/切り取り/貼り付け
キーバインド |
アクション |
説明 |
Emacs相当 |
Ctrl+space |
Toggle Sticky Selection |
範囲選択を開始。 |
同左 |
Ctrl+X , Ctrl+X
|
echange-point-and-mark |
選択範囲の開始位置/終了位置にカーソル移動。 |
同左 |
Alt+W |
Save to Kill Ring |
選択範囲をコピー。 |
同左 |
Ctrl+W |
kill-region |
選択範囲を切り取り。 |
同左 |
Ctrl+Y |
yank |
直前にコピー/切り取った値をペースト。 |
同左 |
Alt+Y |
yank-pop |
コピー/切り取った値の履歴を表示してペースト。 |
同左 |
その他
キーバインド |
アクション |
説明 |
Emacs相当 |
Ctrl+G |
keyboard-quit |
操作の中止。 |
同左 |
Shift , Shift
|
Search Everywhere |
いろいろなものを検索して開く。 |
- |
F4 |
Jump to Source |
カーソル位置のソースファイルを開く。 |
- |
Edit
キーバインド |
アクション |
説明 |
Emacs相当 |
Ctrl+Alt+Shift+C |
Copy Reference |
カーソル位置のファイルや型の完全修飾名をコピーする。 |
- |
⌘+D |
Duplicate Line |
カーソル位置の行をコピーして、1行下に挿入する。 |
- |
Ctrl+Alt+F7 |
Show Usages |
カーソル位置の型や関数を使用している箇所を一覧表示する。 |
- |
Ctrl+S |
isearch-forward |
前(下)に向かってインクリメンタルサーチ。 |
同左 |
Ctrl+R |
isearch-backward |
後(上)に向かってインクリメンタルサーチ。 |
同左 |
Ctrl+F3 |
Find Word at Caret |
カーソル位置の単語を検索。(Macの場合は、Ctrl+F3 がドックを操作するに割り当てられているため、無効化する必要あり) |
- |
Alt+Shift+5 |
query-replace |
検索して置換。 |
- |
Ctrl+Alt+S |
isearch-forward-regexp |
前(下)に向かって正規表現でインクリメンタルサーチ。 |
同左 |
Ctrl+Alt+R |
isearch-backward-regexp |
後(上)に向かって正規表現でインクリメンタルサーチ。 |
同左 |
Ctrl+X , H
|
Select All |
全体を選択する。 |
同左 |
Alt+@ |
Extend Selection |
選択範囲を広げる。 |
同左 |
Ctrl+Shift+W |
選択範囲を狭める。 |
- |
|
Ctrl+Alt+Shift+5 |
query-replace-regexp |
正規表現で検索して置換。 |
- |
Ctrl+T |
transpose-chars |
カーソル位置の文字を左右で入れ替える。 |
- |
Alt+T |
transpose-words |
カーソル位置の単語を左右で入れ替える。 |
- |
検索して一括編集
-
Ctrl+S
で検索モードにして、検索キーワードを入力。検索キーワードにHITした部分がハイライトされる。
-
HITした部分のうち、編集箇所を選択して編集したい場合は...
-
Ctrl+J
で編集対象としてマーク。(または Ctrl+Shift+J
でマーク解除)
-
Ctrl+G
で編集対象を確定し、編集。
-
Ctrl+G
で編集を終了。
-
HITした部分をすべて編集したい場合は...
-
Ctrl+Shift+Alt+J
ですべてを編集対象として確定。
-
そのまま編集。
-
Ctrl+G
で編集を終了。
View
キーバインド |
アクション |
説明 |
Emacs相当 |
Ctrl+X , D
|
Project |
Projectツールウィンドウを開く。 |
Dired |
Ctrl+Shift+I |
Quick Definition |
カーソル位置の定義を開く。 |
- |
Ctrl+Q |
Quick Documentation |
カーソル位置の情報を開く。 |
- |
Alt+Shift+P |
Parameter Info |
関数やコンストラクタのパラメタ定義を開く。 |
- |
Ctrl+Shift+E |
Recently Changed Files |
最近変更したファイルの履歴を開く。 |
- |
Ctrl+Alt+Shift+= |
Show/Expand Implicit Hints |
暗黙的に渡されたimplicitパラメタなどの情報を表示する。(Scalaのみの機能?) |
- |
Ctrl+Alt+Shift+- |
Show Implicit Hints |
暗黙的に渡されたimplicitパラメタなどの情報を非表示にする。(Scalaのみの機能?) |
- |
Alt+Shift+= |
Compare Files |
Projectビューなどで選択しているファイルを比較する。 |
Diredでdiff |
Navigate
キーバインド |
アクション |
説明 |
Emacs相当 |
Ctrl+X , Ctrl+F
|
File |
ファイル名を入力して開く。 |
ミニバッファでファイル名を入力して開く。 |
Alt+Shift+G |
Class |
型名を入力して開く。 |
- |
Alt+G |
Line/Column |
指定された行(列)にジャンプ。 |
- |
Alt+. |
Go To |
カーソル位置の定義(型や関数などの宣言)に飛ぶ。 |
- |
Ctrl+Shift+T |
Test |
カーソル位置に対応するユニットテストを開く。 |
- |
Ctrl+F12 |
File Structure |
開いているファイルのアウトラインを開く。 |
- |
Ctrl+H |
Type Hierarchy |
カーソル位置の型の継承階層を開く。 |
- |
Ctrl+Alt+H |
Call Hierarchy |
カーソル位置の関数の呼び出し元/呼び出し先階層を開く。 |
- |
F2 |
Next Hight lighted Error |
1つ後のエラー箇所にジャンプ。 |
- |
Shift+F2 |
Previous Hight lighted Error |
1つ前のエラー箇所にジャンプ。 |
- |
Alt+↓ |
Next Method |
1つ後のメソッド定義位置にジャンプ。 |
- |
Alt+↑ |
Previous Method |
1つ前のメソッド定義位置にジャンプ。 |
- |
Ctrl+X , =
|
what-cursor-position |
ステータスバー左下にカーソル位置の情報(文字種、位置)を表示。 |
- |
Code
キーバインド |
アクション |
説明 |
Emacs相当 |
Ctrl+I |
Implement Methods |
スーパータイプから継承した、実装が必要なメソッドの空実装を挿入する。 |
- |
Ctrl+Alt+T |
Surround With... |
選択した範囲を () や {} 、Live Template で囲む。 |
- |
Ctrl+Alt+O |
Optimize Imports |
import文を最適化(並べ替え、不要なimportの削除など)する。 |
- |
Ctrl+C , Ctrl+C
|
Comment with Line comment |
行コメントでコメントアウトする。 |
- |
Ctrl+Shift+/ |
Comment with Block comment |
ブロックコメントでコメントアウトする。 |
- |
Alt+Shift+↑ |
Move Line Up |
カーソル行を上に移動する。 |
- |
Alt+Shift+↓ |
Move Line Down |
カーソル行を上に移動する。 |
- |
Refactor
キーバインド |
アクション |
説明 |
Emacs相当 |
Ctrl+Alt+Shift+T |
Refactor This |
カーソル位置に対して実行可能なリファクタリングメニューを開く。 |
- |
Shift+F6 |
Rename |
カーソル位置をリネームする。 |
- |
Ctrl+Alt+N |
Inline |
カーソル位置のコードをインライン展開する。 |
- |
Ctrl+Alt+V |
Extract Variable |
選択範囲を変数に切り出す。 |
- |
Ctrl+Alt+M |
Extract Method |
選択範囲を関数に切り出す。 |
- |
Run
キーバインド |
アクション |
説明 |
Emacs相当 |
Shift+F10 |
Run |
アプリケーションを実行。 |
- |
Shift+F9 |
Debug |
アプリケーションをデバッグ実行。 |
- |
Ctrl+F2 |
Stop |
実行中のアプリケーションを停止。 |
- |
Ctrl+F5 |
ReRun |
実行中のアプリケーションをいったん停止して再起動。 |
- |
Ctrl+X , space
|
Toggle Line Breakpoint |
行ブレークポイントの設定/設定解除。 |
- |
Ctrl+Shift+F8 |
View Breakpoints... |
ブレークポイントを表示。 |
- |
VCS
キーバインド |
アクション |
説明 |
Emacs相当 |
Ctrl+X , V
|
VCS Operations Popup |
バージョン管理操作のポップアップを開く。 |
- |
Window
キーバインド |
アクション |
説明 |
Emacs相当 |
Ctrl+X , K
|
Close |
アクティブなエディタを閉じる。 |
バッファを閉じる。 |
Ctrl+X , Ctrl+C
|
Close All |
すべてのエディタを閉じる。 |
Emacsの終了。 |
Ctrl+X , Ctrl+B
|
Switcher |
開いているエディタやツールウィンドウを切り替えるダイアログを開く。 |
バッファリストを開く。 |
Ctrl+X , B
|
switch-to-buffer |
最近開いたファイルの履歴を開く。 |
- |
Ctrl+X , 0
|
Hide Active Tool Window |
アクティブなツールウィンドウを閉じる。 |
カレントのバッファを非表示にする。 |
Ctrl+X , 1
|
delete-other-windows |
アクティブなツールウィンドウを最大化/戻す。 |
カレント以外のバッファを非表示にする。 |
Ctrl+X , 2
|
Split Horizontally |
エディタを縦に2分割する。 |
バッファを縦に2分割する。 |
Ctrl+X , 3
|
Split Vertically |
エディタを横に2分割する。 |
バッファを横に2分割する。 |
Ctrl+X , 5
|
Next Project Windows |
開いている他のプロジェクトウィンドウに切り替える。 |
フレームの切り替え。 |
Ctrl+Shift+F12 |
Hide All Windows / Restore Windows |
エディタ以外のウィンドウをすべて最小化/復元する。 |
- |
Help
キーバインド |
アクション |
説明 |
Emacs相当 |
Alt+X |
Find Action |
アクションをインクリメンタルサーチして実行。 |
ミニバッファでコマンドを入力して実行。 |