У меня есть следующая конфигурация в моем файле vimrc.
inoremap <C-A> <Plug>InsertComment
И где-то в моей папке VIM я определил
inoremap <silent> <Plug>InsertComment <ESC>:call INSERT_MY_COMMENT
Отображение работало очень хорошо после того, как я настроил это. Но как-то недавно он перестал функционировать. И всякий раз, когда я могу использовать связывание клавиш в режиме вставки, вместо вызова вызываемой мной функции, vim просто вставит весь <Plug>InsertComment
в мой буфер.
Я попытался отладить и обнаружил, что если я сопоставляю
inoremap <C-A> <ESC>:call INSERT_MY_COMMENT
он по-прежнему работает как нужно, что означает, что с частью <Plug>
должно быть что-то не так.
Но я действительно понятия не имею, почему <Plug>
перестал интерпретироваться vim как дескриптор для вызова других плагинов.
Я также пытался вручную скопировать и вставить
inoremap <silent> <Plug>InsertComment <ESC>:call INSERT_MY_COMMENT
inoremap <C-A> <Plug>InsertComment
в командной строке vim, просто чтобы убедиться, что конфигурации не были случайно сброшены. Но, тем не менее, vim не воспримет это как функцию, а скопирует простой текст в буфер.