如何在vim中映射多个<leader>键?</leader>

时间:2011-12-06 04:59:24

标签: vim

我想要一个左右手领导钥匙。如果我希望默认的\,都是我的领导者,我认为这就像向nnoremap , \添加nnoremap , <leader>.vimrc一样简单。但显然不是。我该怎么做?

4 个答案:

答案 0 :(得分:10)

我的<leader>绑定到,,这对我有用:

:nmap \ ,

我的所有领导者映射现在都可以使用\,作为领导者。我认为nnoremap正在绊倒你。

答案 1 :(得分:4)

您可以将一个领导者密钥映射到另一个领导者密钥,就像在接受的答案中一样,但如果您首先要使用<leader>,则应该绑定到<leader>本身。这样,如果您更改(或删除)第一个领导者密钥,绑定仍然有效。

map , <leader>

请注意,这仍然不像那样像第二个领导者那样工作。如果第一个领导者未设置,绑定仍然有效, Vim也将恢复使用\作为领导者,因为不再有“官方”领导者(即有效) mapleader变量的值。 (这对OP来说不是问题,但也可能适用于其他人。)

答案 2 :(得分:2)

<leader>很方便,但您可以在不使用,mm\mm的情况下创建映射。只需复制所有<leader>something并直接使用'\重新映射它们:

nnoremap <leader>d "_d

会变成

nnoremap ,d "_d
nnoremap \d "_d

答案 3 :(得分:0)

究竟会如何运作? Vim遇到<leader>时会用映射键替换它。如果您使用两个(<leader>的键),它将如何知道要用哪个替换<leader>

然而,您可以使用<leader><localleader>,但这只是两个独立的领导者,而不是将两个键映射到其中一个。

所以,不......你不能。

您可以明确地映射快捷方式。