我在很多.vimrc
文件中看到<leader>
,我想知道它是什么意思? 它是干什么用的? 只是对目的和用法的一般概述将是伟大的。
#1楼
“领导者密钥”是一种通过使用密钥序列来执行命令来扩展VIM快捷方式的功能的方法。 默认的leader键是反斜杠。 因此,如果您有<Leader> Q的地图,则可以通过键入\\ Q来执行该操作。
#2楼
在我的系统中它的\\键。 它用于命令,以便您可以将其与其他字符组合使用。
#3楼
默认情况下, <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.
#4楼
Vim的<leader>
键是一种为要定义的命令创建命名空间的方法。 Vim已经映射了Ctrl +(某些键)的大部分键和组合,因此<leader>(some key)
是您(或插件)可以添加自定义行为的地方。
例如,如果您发现自己经常删除正好3个单词和7个字符,您可能会发现通过nmap <leader>d 3dw7x
映射命令很方便,这样按下前导键后跟d将删除3个单词和7个字符。 因为它使用领导者密钥作为前缀,所以您可以(相对)确保您不会踩到任何预先存在的行为。
默认键<leader>
是\\
,但你可以使用命令:let mapleader = ","
把它重新映射到另一个关键( ,
在这种情况下)。
关于领导者密钥的Usevim页面有更多信息。
#5楼
请注意,当您按<leader>
键时, 您只有1000毫秒 (默认情况下) 输入后面的命令 。
这会加剧,因为没有视觉反馈(默认情况下)你已按下<leader>
键并且vim正在等待命令; 所以也没有直观的方法来知道这个时间何时发生。
如果你将set showcmd
添加到你的vimrc
那么你会看到你的<leader>
键出现在vim的右下角(光标位置的左侧),也许更重要的是,当超时发生时你会看到它消失 。
也可以在vimrc
设置超时的长度,有关详细信息,请参阅:help timeoutlen
。