Использование комбинаций клавиш в .vimrc

#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.