Почему nnoremap не работает с CtrlP, а nmap работает? - VIM

У меня есть это в моем .vimrc

nnoremap <leader>p :CtrlP<CR><C-\>w

Я изменяю все nmap на nnoremap в моем .vimrc, и все отлично работает, кроме этого:

nnoremap <leader>p :CtrlP<CR><C-\>w

С nmap <leader>p :CtrlP<CR><C-\>w он автоматически вставляет слово в CtrlP, а с помощью nnoremap я не получаю пустое поле, как будто я только что нажал Ctrl-P.

Почему это не работает с nnoremap?

1 ответ

Решение

Когда вы создаете отображение с nnoremap, он не учитывает ваши предыдущие сопоставления при решении, что делать. Другими словами, если вы ранее нанесли на карту любой из них:

<CR>
<C-\>
w

Тогда эти карты будут игнорироваться в вашем <leader>p сопоставление, и вместо этого будет использоваться действие по умолчанию этих нажатий клавиш.

Насколько я знаю, <C-\> не имеет действия по умолчанию, поэтому я подозреваю, что вы отобразили его (или вы полагаетесь на отображение, добавленное другим плагином), но это отображение здесь не учитывается.

Другие вопросы по тегам