PhpStormでVimキーマップ

2012年10月15日

PhpStorm

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

目次

  1. IdeaVIMプラグインでサポートされている機能
  2. IdeaVIMプラグインでサポートされていない機能
  3. VimとPhpStormの使い分け
  4. IdeaVIMプラグインのインストール方法
  5. IdeaVIMプラグインインストール後のQ&A
  6. プラグインによりキーマップが変更される

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

  1. Browse repositories ボタンをクリック。
  2. 右上の検索入力ボックスに vim と入力。
  3. IdeaVIM Editor が表示されたら、右クリックして Download and Install を選択。
    phpstorm-vim1
  4. インストール確認ダイアログが表示されたら OK ボタンをクリック。
  5. Close ボタンをクリックして、Browse repositories ダイアログを閉じる。
  6. Settingsダイアログの裏側にあるPhpStormのツールバーに、ダウンロードの進行状況が表示される。プラグインのダウンロードが完了するまで待つ。
  7. プラグインのダウンロードが完了すると Apply ボタンがクリック可能になる。
  8. Apply ボタンをクリック。
  9. 再起動を促すダイアログが表示されるので、Restart ボタンをクリックしてPhpStormを再起動。
  10. IdeaVIMプラグインのキーマップのベースの選択を求められるので、任意のキーマップを選択。注意すべき点は、すでにカスタマイズ済みのキーマップを選択しないこと。キーマップが重複して動作がおかしくなることがあります。オススメは、WindowsかLinuxであればDefalut、MacであればMac OS Xです。
    phpstorm-vim2
  11. 再起動の後、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 をご確認ください。

-技術ブログ
-