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

问题描述 投票:0回答:4

我想要一把左手引导键和右手引导键。如果我希望默认的

\
,
都成为我的领导者,我认为这就像将
nnoremap , \
nnoremap , <leader>
添加到我的
.vimrc
一样简单。但显然不是。我该怎么做?

vim
4个回答
17
投票

我的

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

:nmap \ ,

我的所有引线映射现在都可以使用

\
,
作为引线。我认为是
nnoremap
绊倒了你。


8
投票

您可以将一个领导键映射到另一个,如已接受的答案中所示,但如果您要首先使用

<leader>
,则应该绑定到
<leader>
本身。这样,如果您更改(或删除)第一个前导键,绑定仍然有效。

map , <leader>

请注意,这仍然不像第二个领导者那样“完全”工作。如果第一个领导者未设置,绑定仍然有效,但是 Vim 也会恢复使用 \ 作为领导者,因为不再有“官方”领导者(即

mapleader
变量的有效值) )。 (这对OP来说不是问题,但对其他人来说可能是问题。)
    


3
投票
<leader>

很方便,但您可以在不使用它的情况下创建

,mm
\mm
等映射。只需复制所有
<leader>something
并直接使用
'
\
重新映射它们即可:

nnoremap <leader>d "_d

会变成

nnoremap ,d "_d nnoremap \d "_d



0
投票
<leader>

时,它会用映射的键替换它。如果您使用两个(

<leader>
的键),它怎么知道用哪一个来替换
<leader>

但是,您可以做的是使用

<leader>

<localleader>
但这只是两个单独的引线,而不是将两个键映射到其中之一。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.