如何找出<Leader>设置为什么?是否可以重新映射<Leader>?


64

如何确定哪个键设置为我的键<Leader>,以及如何重新映射它?

Answers:


62

默认情况下,您<leader>\,反斜杠。您可以使用以下方法进行检查:

:echo mapleader

如果给您一个E121: Undefined variable: mapleader,则表示它已设置为默认值\。如果它给您其他东西,那就是:-)

您可以轻松地重新映射它。我将其映射到空格键:

:let mapleader = "\<Space>"

请注意,在mapleader定义映射时会使用的值。所以这个例子:

let mapleader = ","
nnoremap <Leader>a :echo "Hey there ,"<CR>

let mapleader = "\<Space>"
nnoremap <Leader>a :echo "Hey there space"<CR>

将产生两个映射:,a<Space>a

这意味着的当前mapleader不一定是用于定义映射的值!

此外,还有maplocalleader,与相同mapleader,除了由所使用<LocalLeader>并且位于当前缓冲区的本地。

有关更多信息,请<Leader>参见Vim的帮助:help mapleader


3
为什么我们需要反斜杠"\<Space>"
thameera 2015年

10
需要反斜杠,因为否则vim会将“ <Space>”识别为普通字符串,而不是空格键的代码。请参阅:help expr-string示例。
tokoyami

1
请注意:例如,let mapleader = ' '也可以用于设置<Leader>空格。如果使用此语法有任何可能的副作用,请随时提及。
丹尼尔·安德森

似乎maplocalleader默认情况下也将其设置为反斜杠。也许这就是“与相同mapleader,但我一开始不确定。”
Mars

我该如何撤消let mapleader = ","事实?我尽力unlet mapleader了,let mapleader = "\"但是没有用。我需要这个,因为我正在使用这个捆绑包github.com/amix/vimrc,它建议有我自己的单独的配置文件。捆绑包将领导者映射到逗号,因此我想在单独的配置文件中撤消此操作。
迈克尔·

8

您可以这样显示当前的领导者钥匙 :let mapleader


4
尝试这个,我明白了E121: Undefined variable: mapleader
Praxeolitic

然后由于某种原因,地图负责人尚未设置或尚未设置
-craigp

5
知道了 这只是给其他人的提示,如果您没有明确设置领导者钥匙,那么您会得到上面的错误。
Praxeolitic

如果得到E121: Undefined variable: mapleader,则表示未设置,将使用默认值,即反斜杠"\"
wisbucky
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.