为什么 nnoremap 不能与 CtrlP 一起使用而 nmap 可以? - VIM
Why nnoremap doesn't work with CtrlP and nmap does work? - VIM
我的 .vimrc
中有这个
nnoremap <leader>p :CtrlP<CR><C-\>w
我在 .vimrc 中将所有 nmap 更改为 nnoremap 并且一切正常,除了这个:
nnoremap <leader>p :CtrlP<CR><C-\>w
使用 nmap <leader>p :CtrlP<CR><C-\>w
它会自动将单词插入 CtrlP 而使用 nnoremap 它不会,我得到空白字段, 就像我刚刚按下 Ctrl-P.
为什么它不适用于 nnoremap?
当您使用 nnoremap
创建映射时,它在解决要执行的操作时不会考虑您之前的映射。换句话说,如果您之前已经映射了其中任何一个:
<CR>
<C-\>
w
然后这些映射将在您的 <leader>p
映射中被忽略,而是使用这些击键的默认操作。
据我所知,<C-\>
没有默认操作,因此我怀疑您已经映射了它(或者您依赖于另一个插件添加的映射),但该映射并未被考虑到这里。
我的 .vimrc
中有这个nnoremap <leader>p :CtrlP<CR><C-\>w
我在 .vimrc 中将所有 nmap 更改为 nnoremap 并且一切正常,除了这个:
nnoremap <leader>p :CtrlP<CR><C-\>w
使用 nmap <leader>p :CtrlP<CR><C-\>w
它会自动将单词插入 CtrlP 而使用 nnoremap 它不会,我得到空白字段, 就像我刚刚按下 Ctrl-P.
为什么它不适用于 nnoremap?
当您使用 nnoremap
创建映射时,它在解决要执行的操作时不会考虑您之前的映射。换句话说,如果您之前已经映射了其中任何一个:
<CR>
<C-\>
w
然后这些映射将在您的 <leader>p
映射中被忽略,而是使用这些击键的默认操作。
据我所知,<C-\>
没有默认操作,因此我怀疑您已经映射了它(或者您依赖于另一个插件添加的映射),但该映射并未被考虑到这里。