2015-09-12 3 views
1

У меня есть это в мой .vimrcПочему nnoremap не работает с CtrlP и nmap работает? - VIM

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

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

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

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

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

ответ

3

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

<CR> 
<C-\> 
w 

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

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

+0

Благодарим вас за отличное объяснение. – whitesiroi