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とほぼ同じファイルを読み込ませる事ができるぞ。