我在许多.vimrc文件中看到<leader>,我想知道它是什么意思?
它的用途是什么?
只要对目的和用法有个大致的概述就好了。
我在许多.vimrc文件中看到<leader>,我想知道它是什么意思?
它的用途是什么?
只要对目的和用法有个大致的概述就好了。
“主键”是一种通过使用键序列来执行命令来扩展VIM快捷键功能的方法。默认的领导键是反斜杠。因此,如果您有一个<Leader>Q的映射,您可以通过输入\Q来执行该操作。
<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.
请注意,当您按下<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的引导键页面有更多信息。