basyura's blog

あしたになったらほんきだす。

vrapper で esc 時に ime を off にする (windows)

esc 時に ime を off にできないと戦闘力が半分以下になるので GPL3 な vrapper をいじってみた。

最新ブランチの資源(今は 0.14)をチェックアウト。

$ svn co https://vrapper.svn.sourceforge.net/svnroot/vrapper/branches/0.14 vrapper_0.14

eclipse を起動してプロジェクト作って、plugins/*.eclipse.* をビルドパスに通してコンパイル。
net.sourceforge.vrapper.vim.modes.InsertMode を編集

public boolean handleKey(KeyStroke stroke) {
        if (stroke.equals(key(SpecialKey.ESC))) {
            editorAdaptor.changeMode(NormalMode.NAME);
            // ↓追加
            PlatformUI.getWorkbench()  
                .getActiveWorkbenchWindow()
                .getShell().setImeInputMode(SWT.NULL);
            return true;
        } else if (!allowed(stroke)) {

jar を作るか、元あるものを解凍して該当の class だけ突っ込んで圧縮し直すかして置き換える。

mac だと動かないのは SWT が 64 bit をサポートしてないからあたりだと思うのだけど、調べるのに疲れたので終了。