Emacs
IntelliJ

Emacs使いのための IntelliJ IDEAキーマップ チートシート

Emacs使いな人向けの IntelliJ IDEA のキーマップカスタマイズとチートシートです。

プラグイン

IDEAはデフォルトでEmacsキーマップが選択可能になっていますが、いくつか不満があるのでプラグインを導入して改善します。

  • Emacs+ Patched

    • 開発が止まって、最近のIDEAでは動作しなくなっている Emacs+ をフォークしたもののようです。
    • Alt+F などのカーソル移動の飛び方が、Emacsと同じになります。
    • Ctrl+SCtrl+R で開く検索キーワード入力欄で、エディタと同様にCtrlと組み合わせた編集操作ができるようになります。
    • ...more
  • Presentation Assistant
    何らかの操作を実行したときに、割り当てられているキーバインドをホバー表示してくれるプラグイン。
    キーバインドを覚えていくのに便利です。

キーマップの変更

  1. Preferences -> KeymapEmacs+ を選択し、Duplicate... でコピーを作成します。

  2. Preferences -> Appearance & Behavior -> Presentation Assistant で、Main keymap に作成したコピーを指定します。

    • お好みで、Alternative Keymap に表示させたいキーバインドをもう1つ指定できます。
  3. コピーして作成したキーマップをカスタマイズします。

変更 キーバインド アクション
追加 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 単語削除。 同左
Alt+@ Extend Selection 選択範囲を広げる。 同左
Ctrl+Shift+W 選択範囲を狭める。 -

コピー/切り取り/貼り付け

キーバインド アクション 説明 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 後(上)に向かってインクリメンタルサーチ。 同左
Alt+Shift+5 query-replace 検索して置換。 -
Ctrl+Alt+S isearch-forward-regexp 前(下)に向かって正規表現でインクリメンタルサーチ。 同左
Ctrl+Alt+R isearch-backward-regexp 後(上)に向かって正規表現でインクリメンタルサーチ。 同左
Ctrl+Alt+Shift+5 query-replace-regexp 正規表現で検索して置換。 -
Ctrl+T transpose-chars カーソル位置の文字を左右で入れ替える。 -
Alt+T transpose-words カーソル位置の単語を左右で入れ替える。 -

検索して一括編集

  1. Ctrl+S で検索モードにして、検索キーワードを入力。検索キーワードにHITした部分がハイライトされる。

  2. HITした部分のうち、編集箇所を選択して編集したい場合は...

    1. Ctrl+J で編集対象としてマーク。(または Ctrl+Shift+J でマーク解除)
    2. Ctrl+G で編集対象を確定し、編集。
    3. Ctrl+G で編集を終了。
  3. HITした部分をすべて編集したい場合は...

    1. Ctrl+Shift+Alt+J ですべてを編集対象として確定。
    2. そのまま編集。
    3. 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+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 開いている他のプロジェクトウィンドウに切り替える。 フレームの切り替え。
Nothing Recently Changed Files 最近変更したファイルの履歴を開く。 -

Help

キーバインド アクション 説明 Emacs相当
Alt+X Find Action アクションをインクリメンタルサーチして実行。 ミニバッファでコマンドを入力して実行。