VSCODE で Vimキーバインドのカーソル移動調整

Shiftキーを押しながら、h,j,k,l でそれぞれキーバインドを設定したかった。
やりたかったことは、vimrcでいうところの、以下の設定。
shiftキーを押しながらだと、カーソル移動が多めにされるよというやつ。

" Shiftを押しながら移動キーで、3行分カーソル移動。
noremap <S-j> 3j
noremap <S-k> 3k

" Shiftを押しながら移動キーで、行頭、行末移動。
nnoremap <S-h> ^
nnoremap <S-l> $

VSCODEのVimキーバンド設定

で、VSCODEのVimキーバンド拡張では、上記の設定をどうやったらいいのか。
やっとわかったので、メモメモ。

VimキーバンドExtension のGithub
https://github.com/VSCodeVim/Vim

設定の仕方は、READMEに結構丁寧にかかれている。

コマンドパレットから、ユーザー設定を開いて、
settings.json に以下の項目を書き足せばOK。

"vim.otherModesKeyBindingsNonRecursive": [
    {
        "before": [ "J" ],
        "after" : [ "j", "j", "j" ]
    },
    {
        "before": [ "K" ],
        "after" : [ "k", "k", "k" ]
    },
    {
        "before": [ "L" ],
        "after" : [ "$" ]
    },
    {
        "before": [ "H" ],
        "after" : [ "^" ]
    }
]

おしまい

vimrcで書くことができたら、簡素ですむんだけどね。。。
3jとかの書き方ができないので、j,j,j と3つ並べる感じに。

ちなみに、IDEAなら ideavimrc という vimrcとほぼ同じファイルを読み込ませる事ができるぞ。

コメントを残す