【问题标题】:How to map <c-leader> in vim?如何在 vim 中映射 <c-leader>?
【发布时间】:2012-07-04 18:47:00
【问题描述】:

我想映射 ctrl+leader 键。有可能吗?

已尝试::nnoremap &lt;c-leader&gt; :CtrlP&lt;CR&gt;

而且它不起作用。

(ctrlp 绑定与 yankring 绑定冲突)

【问题讨论】:

  • +1 用于引用 ctrlp plugin,我不知道,但似乎很有用。

标签: vim keymapping


【解决方案1】:

&lt;Leader&gt; 是 Vim 中的特殊键符号;因此,它不能与C- 等修饰符结合使用。假设它的默认设置(即\),你可以使用这个:

nnoremap <c-\> :CtrlP<CR>

【讨论】:

  • 有一刻以为它会搞砸领导绑定 - 但没有......完美。 \ 仍然是领导者并且 c-\ 弹出 ctrlp。 tyvm :)
【解决方案2】:

这里有两个问题:

  1. 您没有阅读 CtrlP 的文档,您会发现:

    Use this option to change the mapping to invoke CtrlP in Normal mode:
        let g:ctrlp_map = '<c-p>'
    
  2. &lt;leader&gt; 应该是在映射中使用常用修饰键(Alt、Ctrl、Shift、Cmd)的跨平台替代方案。

    通常,您会使用&lt;leader&gt; 代替&lt;Ctrl&gt;,如下所示:

    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。
  • &lt;F11&gt; 是一个示例,您可以将其映射到您想要/可用的任何内容。 Ingo 很好地解释了第二个问题:&lt;leader&gt; 是一个特殊的键,不能与修饰符组合。我只是提供了一个正确使用的例子。
【解决方案3】:

例如将领导键映射到空间试试这个...

let mapleader=" "

【讨论】:

    猜你喜欢
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    相关资源
    最近更新 更多