使用したのは、OS X 上の IntelliJ IDEA 15.0.3、IdeaVimのバージョンは0.44です。
IdeaVimにはVimにはない :action
というExコマンドがあります。これを使うとIntelliJの機能を呼び出すことができます。
~/.ideavimrcのキーマップ設定で :action
を使うこともできます。
例えば、 \r
と入力するとテストを実行する、というような設定ができます。以下のようなJUnitを使って書かれたテストコードがあるとします。
package sample;
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
import org.junit.Test;
public class HogeTest {
@Test
public void sampleTest() {
assertThat("hoge", is("hoge"));
}
}
メソッドのどこかを右クリックして"Run 'sampleTest()'"を選択すると、"sample test"だけ実行できます。
IdeaVimの :action
を使って、カーソルがメソッド内にある状態で :action RunClass
と入力することで同じことができます。
~/.ideavimrcに以下のように記述しておけば、 \r
で実行ができます。わざわざ :action RunClass
と入力する必要はありません。
nnoremap \r :action RunClass<CR>
IntelliJのキーマップ設定と比べて嬉しいところは、IdeaVimのノーマルモードでだけ有効にすることができるところです。~/.ideavimrcを使わずにIntelliJのキーマップ設定で \r
を割り当てると "\r"
という文字列を入力できなくなってしまいます。
:action
で使えるIntelliJの機能は、 :actionlist
で調べられます。