RiderのIdeaVim拡張で別のタブグループに移動するキーマップを作成する


Riderのvim拡張「IdeaVim」では、標準のままではタブを別のタブグループに移動させることが出来ない。設定ファイルを変更したら、生のvimと同じとまではいかないものの、十分実用に耐えられるラインの再現はできたので、その方法を紹介する。

Riderのアクションをvimキーバインドで呼び出す

例えば ,f のキーバインドでRiderの全検索ウィンドウを呼び出したければ、IdeaVimの設定ファイル .ideavimrc (windowsの場合 _ideavimrc) に以下を記述すればいい。

nnoremap ,f :action SearchEverywhere<CR>

:action <Riderのアクション名>で、Riderのアクションをvimライクに呼び出すことができる。

タブを別のグループに移動する

vimには <C-w><C-l>などで、指定した方向にあるタブグループにタブを移動させることができる。IdeaVimにはこれに相当するキーバインドは機能しておらず、同じ動作をするActionもない。

代わりに、別のタブグループにタブを移動させるアクション「MoveEditorToOppositeTabGroup」は存在するので、それを利用する。

.ideavimrcに以下を記述する。

nnoremap <C-w>m :action MoveEditorToOppositeTabGroup<CR>

これで、<C-w>mでタブを移動させられるようになった!

(補足):actionコマンドで呼び出せるRiderのアクション一覧を取得する

:actionlist <アクション名> と入力すると、その名前を持つアクション一覧が表示される。 actionlist Everywhere を入力するとこんな感じ。