#vim #config
#vim #конфигурация
Вопрос:
imap ( ()<ESC>i
imap { {<CR> <CR>}<ESC>i<Up><Tab>
imap [ []<ESC>i
imap <S-BS> <Del>
Я решил создать автоматическую скобку, и мне понадобилась комбинация клавиш для быстрого удаления двойной скобки (4 строки в коде). Но это не работает. В чем проблема? Это сработает, если я перезапишу <S-BS>
(например) символ *
.
Комментарии:
1. Vim не видит
<S-BS>
, поэтому сопоставление никогда не будет работать. Вам нужно будет найти другой.
Ответ №1:
Когда вы это делаете <S-BS>
, Vim видит <BS>
. Чтобы убедиться в этом, выполните CTRL-V
затем backspace или shift backspace в режиме вставки. Это приведет к вставке ^?
для обоих, что является кодом терминала для этих специальных клавиш. См :help c_CTRL-V
. Таким образом, как backspace, так и shift backspace имеют один и тот же код терминала, что означает, что Vim не может определить разницу между ними.
Однако сопоставление работает в gVim.