PhpStorm(WebStorm) のキーマップを Vim っぽくするプラグイン IdeaVim プラグインを紹介します。
PhpStorm はとても強力な IDE ですが、Vim 好きの私は コーディングしていると Vim が恋しくなります。矢印キーが遠い、カーソルを横方向への移動させる手段が乏しい・・・。MacBook Air で開発しているとき特にそう感じていました。そんな私を救ってくれたのが、IdeaVIMプラグインです。
IdeaVimプラグインをインストールすると、PhpStormでVimキーマップを利用することができます。IdeaVIMプラグインにより提供されるVimの機能は、本家Vimと比べて足りない所もありますが、それなりにVimっぽく動作します。
動作確認環境
- PhpStorm5.0.2
- IdeaVIMプラグイン0.23.93
目次
- IdeaVIMプラグインでサポートされている機能
- IdeaVIMプラグインでサポートされていない機能
- VimとPhpStormの使い分け
- IdeaVIMプラグインのインストール方法
- IdeaVIMプラグインインストール後のQ&A
- プラグインによりキーマップが変更される
IdeaVIMプラグインでサポートされている機能
IdeaVIMプラグインでサポートされているVimの機能です。
各種モード、モーションに加え、マークにレジスタ、テキストオブジェクトもサポートされています。
- 各種モード(ノーマル、挿入、更新、ビジュアル、コマンドライン)
- モーションキー
- ex コマンドいくつか
- set オプションいくつか
- テキストオブジェクトいくつか
- マーク
- レジスタ
- マクロ
- 正規表現
IdeaVIMプラグインでサポートされていない機能
残念、サポートされていない機能です。
他にもあるかもしれませんが、使用頻度が低かったり、知らない機能は試していません。
- .vimrcのような設定ファイル
- モード別キーマップの変更
- window分割やタブ関連のコマンド :sp, :vsp, :tabm など
- window分割関連のキーマップ control + w など
VimとPhpStormの使い分け
PHPアプリは基本的にPhpStormで書くようになりましたが、引き続きVimも使用しています。
Vimの利用シーンは下記の通りです。
- PHPDocコメントを書かないプロジェクトのとき
- ターミナルから簡単な修正をするとき
- 複数のウィンドウを分割させて作業したいとき
- コピペを多用する作業をしたいとき
- 一時的な作業を行うとき
- PhpStormを使えないプロジェクトのとき
PHPDocコメントを書かないプロジェクトの場合は、自作クラスの入力補完がほとんど効かず、定義へのジャンプ機能も効かず、IDEの恩恵が半減するケースが多いです。現場によっては改善が難しいこともあるので、その場合はtagsファイルを作ってVimで開発をします。
また、ウィンドウ分割やタブの使い勝手はVimの方が上です。状況に応じて使い分けます。
IdeaVIMプラグインのインストール方法
PhpStormにIdeaVIMプラグインをインストールする方法です。
IDE Settings > Plugins
- Browse repositories ボタンをクリック。
- 右上の検索入力ボックスに vim と入力。
- IdeaVIM Editor が表示されたら、右クリックして Download and Install を選択。
- インストール確認ダイアログが表示されたら OK ボタンをクリック。
- Close ボタンをクリックして、Browse repositories ダイアログを閉じる。
- Settingsダイアログの裏側にあるPhpStormのツールバーに、ダウンロードの進行状況が表示される。プラグインのダウンロードが完了するまで待つ。
- プラグインのダウンロードが完了すると Apply ボタンがクリック可能になる。
- Apply ボタンをクリック。
- 再起動を促すダイアログが表示されるので、Restart ボタンをクリックしてPhpStormを再起動。
- IdeaVIMプラグインのキーマップのベースの選択を求められるので、任意のキーマップを選択。注意すべき点は、すでにカスタマイズ済みのキーマップを選択しないこと。キーマップが重複して動作がおかしくなることがあります。オススメは、WindowsかLinuxであればDefalut、MacであればMac OS Xです。
- 再起動の後、Vimキーマップが自動で有効となります。
IdeaVIMプラグインインストール後のQ&A
IdeaVIMプラグインを無効にしたい場合
Main menu > Tools > VIM Emulator のチェックをはずします。
VIMプラグインのキーマップのベースを変更したい場合
Main menu > Tools > Reconfigure VIM Keymap を選択します。カスタマイズしたVim Keymapを初期化したい場合もこちらを選択します。
色々おかしくなってしまった場合
VIMプラグインの動作がおかしくなってしまった場合は、プラグインを再インストールしましょう。PhpStormのメジャーバージョンが上がった時におかしくなることが多いです。
プラグインの再インストールでも解決しない場合は、PhpStormを再インストールします。キャッシュやプラグインの情報がホームディレクトリの .WebIde50 などに保存されていますので、そのディレクトリも削除します。Macの場合はホームディレクトリではなく ~/Library/Preferences/WebIde50 にあります。
プラグインによりキーマップが変更される
IdeaVIMプラグインのベースに選択したキーマップがいくつか変更されます。詳細はご自身の Keymap をご確認ください。