【发布时间】:2012-07-04 18:47:00
【问题描述】:
我想映射 ctrl+leader 键。有可能吗?
已尝试::nnoremap <c-leader> :CtrlP<CR>
而且它不起作用。
(ctrlp 绑定与 yankring 绑定冲突)
【问题讨论】:
-
+1 用于引用 ctrlp plugin,我不知道,但似乎很有用。
标签: vim keymapping
我想映射 ctrl+leader 键。有可能吗?
已尝试::nnoremap <c-leader> :CtrlP<CR>
而且它不起作用。
(ctrlp 绑定与 yankring 绑定冲突)
【问题讨论】:
标签: vim keymapping
<Leader> 是 Vim 中的特殊键符号;因此,它不能与C- 等修饰符结合使用。假设它的默认设置(即\),你可以使用这个:
nnoremap <c-\> :CtrlP<CR>
【讨论】:
这里有两个问题:
您没有阅读 CtrlP 的文档,您会发现:
Use this option to change the mapping to invoke CtrlP in Normal mode:
let g:ctrlp_map = '<c-p>'
<leader> 应该是在映射中使用常用修饰键(Alt、Ctrl、Shift、Cmd)的跨平台替代方案。
通常,您会使用<leader> 代替<Ctrl>,如下所示:
nnoremap <leader>p :CtrlP<CR>
~/.vimrc 中的这一行可能会解决您的问题:
let g:crtlp_map='<F11>'
虽然这没什么用,但这里是我的 CtrlP 映射:
nnoremap <leader>f :CtrlP<CR>
nnoremap <leader>b :CtrlPBuffer<CR>
nnoremap <leader>m :CtrlPMRUFiles<CR>
nnoremap <leader>t :CtrlPTag<CR>
【讨论】:
<F11> 是一个示例,您可以将其映射到您想要/可用的任何内容。 Ingo 很好地解释了第二个问题:<leader> 是一个特殊的键,不能与修饰符组合。我只是提供了一个正确使用的例子。
例如将领导键映射到空间试试这个...
let mapleader=" "
【讨论】: