PyCharmのプラグインEMACS+を試す

前回に続き、JetBrainsのIDEをよりemacsっぽく使う方法のメモ。

機能概要

keymapの設定に、よりemacs風になった「Emacs+」と「Mac Emacs+」が追加されます。

キーマップが追加されるだけなので、これを選択しないと何も変わりません。[Preferences]-[Keymap]から追加されたキーマップを選択することで有効になります。 f:id:kichi941:20161224215946j:plain

プラグインの入手

[Preferences]を開き[Plugins]を選択します。その中にある[Browse repositories...]ボタンを押し、「EMACS+」で検索してインストールします。 f:id:kichi941:20161224194719j:plain

お試し結果

かなりemacsっぽくなりました。特に便利なのが以下の2点。

  • C-l による現在行表示位置の移動

従来の「emacs」キーマップでは、C-lで現在行が画面の中央にくるだけでした。Emacs+にすることで、C-lキーを押すたびにカーソル行が、画面の中央→1行目→最終行→画面の中央→… になるように表示されます。

  • M-; によるコメント入力

たとえばpythonで「raise ValueError」という行があってM-;を押した場合、従来のEmacsキーマップでは[Comment with Line Comment]機能が割り当てられているので、以下のように丸ごとコメントアウトされていました。

    # raise ValueError

これがEmacs+では以下のようになり、すぐに行末にコメントを入力できるようにしてくれます。

    raise ValueError            #  ←カーソルはここにくる

以下に詳しい説明があります。

JetBrains Plugin Repository :: Emacs+

現在のところ判明している問題点は以下の通り。

  • プログラムを実行(Run)しているウィンドウで、ペースト(C-y)が動かない。

メモ

EMACS+と似た名前のemacsIDEAsというプラグインもあります。こちらの方がダウンロード数も多くAceJump相当の機能を内包しているなど多機能そうなのですが、既存のキーマップと相性が悪そうなので使用を断念しました。

キーマップをデフォルトで入っている「Emacs」にしているとうまく動作せず、「Mac OS X」など他のキーマップにする必要があるようです。これだと「C-<Space>で範囲選択開始」などを全て自分で設定する必要があり面倒なので試すのをやめてしまいました。