Как перепривязать `hjkl` к `jkl;`
Я пытался переназначить правильные клавиши слепой печати, и на самом деле я ожидал, что это будет сложнее. Это мой init.vim:
" Normal mode
nmap ; <Right>
nmap l <Up>
nmap k <Down>
nmap j <Left>
nnoremap h ;
" Visual mode
vmap ; <Right>
vmap l <Up>
vmap k <Down>
vmap j <Left>
vnoremap h ;
" Rebind the window-switching movements
nnoremap <C-w>; <C-w>l
nnoremap <C-w>l <C-w>k
nnoremap <C-w>k <C-w>j
nnoremap <C-w>j <C-w>h
nnoremap <C-w>h <C-w>;
Выглядит хорошо, верно? Но это не так. По умолчанию в vim при нажатии
Как я могу добиться правильной привязки клавиш, не делая переключение окон менее удобным? Спасибо.
1 ответ
Если вы посмотрите на:help CTRL-W_j
и его друзей, вы увидите, что у всех есть куча альтернатив. Важным является<C-w><C-j>
, что позволяет вам держать левый мизинец включенным, пока вы нажимаете правым указательным пальцем , или держать левый мизинец и указательный палец включенными.Ctrl
иw
пока вы нажимаетеj
с правильным индексом.
Поэтому:
[...]
nnoremap <C-w>j <C-w>h
nnoremap <C-w><C-j> <C-w>h
[...]