最近はコーディングに JetBrains の IntelliJ IDEA を使う事が多い。元々は Scala を書くために導入したものだが、プラグインを導入すれば TypeScript や Go、Ruby、その他様々な言語もサポートしてくれるようになるので広く使うようになった。
IntelliJ IDEA には Vim のようにエディタを操作できる IdeaVim というプラグインを導入して使用している。Vim のモードやカーソル移動がサポートされていれば十分と思っていたが、調べていくと意外と高機能であった。
設定は .ideavimrc に記述できる。
IdeaVim の設定は .vimrc と同様に .ideavimrc に記述することができる。
source
コマンドで .ideavimrc から既存の .vimrc を読み込んだりすることができる。
source ~/.vimrc set multiple-cursors set clipboard=unnamed set scrolloff=10 set sidescrolloff=16
Vim プラグインのサポート
驚くべきことに Vim プラグインにも対応している。
ドキュメントを見る限り対応プラグインは限定的だが、
vim-plug と同様に .ideavimrc に Plug 'foo/bar'
と記述するだけで使用可能になる。
対応プラグインの一覧を見ると NERDTree にも対応していた。IDE のプロジェクトツールウィンドウと連動して動作する。
Plug 'preservim/nerdtree' set NERDTree
キーマップ
キーマップにも対応している。Vim を使うときは;
をリーダーとして設定し様々なアクションを設定していたので、こちらも同じように設定してみる。
let mapleader = ";" nnoremap <Leader>n :NERDTreeToggle<CR> nnoremap <Leader>f :action GotoFile<CR>
IDE 側のアクションも呼び出せるようになっているので、Vim で fzf を呼び出すように、ファイル検索のランチャーが起動するように設定している。用意されているアクション一覧は :actionlist
で確認することができた。
こちらによるとキーマップは IDE のエディタ部分にフォーカスが当たっているときだけ有効になるらしい。:NERDTreeToggle
でプロジェクトツールウインドウに切り替わったあと、そのまま :NERDTreeToggle
で閉じたりできないのは少し残念。