我在许多.vimrc文件中看到<leader>,我想知道它是什么意思?

它的用途是什么?

只要对目的和用法有个大致的概述就好了。


当前回答

默认的引导键是反斜杠(\)。它在绑定中用作与其他击键的和弦。

其他回答

请注意,当您按下<leader>键时,您只有1000ms或1秒(默认情况下)来输入后面的命令。

这是因为没有视觉反馈(默认情况下)表明您已按下<leader>键,而vim正在等待命令;因此,也没有可视化的方法来知道这个超时时间发生了什么。

如果您将set showcmd添加到vimrc,那么您将看到<leader>键出现在vim的右下角(光标位置的左侧),也许更重要的是,您将看到它在超时发生时消失。

超时的长度也可以在vimrc中设置,有关更多信息,请参阅:help timeoutlen。

Vim的<leader>键是为要定义的命令创建名称空间的一种方式。Vim已经映射了大多数键和Ctrl +(一些键)的组合,所以<leader>(一些键)是你(或插件)可以添加自定义行为的地方。

例如,如果您发现自己经常删除3个单词和7个字符,您可能会发现通过nmap <leader>d 3dw7x映射一个命令很方便,这样按下领导键后按d将删除3个单词和7个字符。因为它使用先导键作为前缀,所以您可以(相对地)确信您没有践踏任何预先存在的行为。

<leader>的默认键是\,但您可以使用命令:let mapleader = ","将其重新映射到另一个键(在本例中为,)。

Usevim的引导键页面有更多信息。

默认的引导键是反斜杠(\)。它在绑定中用作与其他击键的和弦。

<Leader>键默认映射到\。因此,如果你有一个<Leader>t的映射,你可以默认使用\+t执行它。有关更多细节或使用mapleader变量重新赋值,请参见

:帮助领导人

To define a mapping which uses the "mapleader" variable, the special string
"<Leader>" can be used.  It is replaced with the string value of "mapleader".
If "mapleader" is not set or empty, a backslash is used instead.  
Example:
    :map <Leader>A  oanother line <Esc>
Works like:
    :map \A  oanother line <Esc>
But after:
    :let mapleader = ","
It works like:
    :map ,A  oanother line <Esc>

Note that the value of "mapleader" is used at the moment the mapping is
defined.  Changing "mapleader" after that has no effect for already defined
mappings.


“主键”是一种通过使用键序列来执行命令来扩展VIM快捷键功能的方法。默认的领导键是反斜杠。因此,如果您有一个<Leader>Q的映射,您可以通过输入\Q来执行该操作。