Как я могу переопределить сопоставления ключей плагинов?


21

Я установил плагин, который не предоставляет механизм для отключения определения клавиш, которые он определяет. Я хочу переопределить одно из сопоставлений ( <leader>cc), определенных плагином для моей собственной цели, я попытался добавить следующую строку в свой .vimrc:

noremap <leader>cc echo "my purpose"

Но это не работает, <leader>ccвсе еще выполняет команду плагина.

Как я могу определить свое отображение, чтобы оно переопределяло те, которые определены плагином?


один (по общему признанию, не очень
— хороший

Ответы:


20

Плагины поставляются после вашего, vimrcпоэтому нет способа переопределить отображение плагинов в вашем, vimrcесли плагин не предоставляет способ сделать это.

Размещение пользовательского сопоставления ~/.vim/after/plugin/mystuff.vim(имя файла не имеет значения) должно позволить вам переопределить сопоставление плагинов.


1
Делать это не работает для меня. Я map <C-l> somethingпомещаю туда, и это все еще отменяется Pydocstring.
— oarfish

Есть ли способ сделать это, что специфично для типа файла (например, ftplugin)?
— Стивен Лу

Кроме того, согласитесь, это даже не работает.
— Стивен Лу

20

Как уже упоминалось в других ответах, плагины получают после того, как vimrc завершен.

Если вы хотите сохранить переопределения в вашем vimrc вместо того, чтобы использовать плагин after, вы можете использовать этот «трюк» в любом месте вашего файла vimrc:

autocmd VimEnter * noremap <leader>cc echo "my purpose"

От :help VimEnter:

VimEnter: После выполнения всех действий при запуске, включая загрузку файлов .vimrc, выполнение аргументов "-c cmd", создание всех окон и загрузку в них буферов.

Таким образом, все, что вы вводите в автоматическую команду VimEnter, запускается после того, как Vim готов. Использование VimEnter таким образом позволяет сохранить все ваши сопоставления с другими параметрами , где вы привыкли держать их: vimrc.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.