. vimrc文件中的<leader>是什么?

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

它是用来干什么的?

只是对目的和用法的一般概述会很棒。

468805 次浏览

Leader键是通过使用一系列按键来执行命令来扩展VIM快捷方式功能的一种方式。默认的Leader键是反斜杠。因此,如果您有Q的映射,则可以通过键入\Q来执行该操作。

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

默认情况下,#0键映射到\。因此,如果您有<Leader>t的映射,则默认情况下可以使用\+t执行它。有关更多详细信息或使用mapleader变量重新分配它,请参阅

帮助leader

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 isdefined.  Changing "mapleader" after that has no effect for already definedmappings.

请注意,当你按下<leader>你只有1000毫秒1秒(默认情况下)输入命令时。

这种情况会加剧,因为有视觉反馈(默认情况下)表明您按下了<leader>键,而vim正在等待命令;因此也没有视觉方法知道何时发生了超时。

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

超时的长度也可以在vimrc中设置,有关详细信息,请参阅#1

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

例如,如果您发现自己经常删除3个单词和7个字符,您可能会发现通过nmap <leader>d 3dw7x映射命令很方便,因此按leader键后跟d将删除3个单词和7个字符。因为它使用leader键作为前缀,您可以(相对)确保您不会踩踏任何预先存在的行为。

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

Usevim在领导键上的页面有更多的信息。