Как мне сопоставить несколько ключей <leader>в vim? - PullRequest
6 голосов
/ 06 декабря 2011

Я хотел бы иметь левую и правую клавишу лидера. Если я хочу, чтобы по умолчанию \ и , были моими лидерами, я подумал, что это будет так же просто, как добавить nnoremap , \ или nnoremap , <leader> к моему .vimrc. Но, видимо, нет. Как мне это сделать?

Ответы [ 4 ]

10 голосов
/ 06 декабря 2011

Мой <leader> связан с ,, и это работает для меня:

:nmap \ ,

Все мои сопоставления лидеров теперь доступны с использованием либо \, либо , в качестве лидера. Я думаю, что nnoremap сбивает вас с толку.

4 голосов
/ 28 ноября 2015

Вы можете сопоставить один ключ лидера с другим, как в принятом ответе, но если вы собираетесь использовать <leader> в первую очередь, вы должны сделать привязку к самому <leader>. Таким образом, привязка будет работать, если вы измените (или удалите) первый ключ лидера.

map , <leader>

Обратите внимание, что это все еще не вполне работает как второй лидер. Если первый лидер не установлен, привязка все равно будет работать, , но Vim также вернется к использованию \ в качестве лидера, поскольку больше нет «официального» лидера (т. Е. Действительное значение для mapleader переменная). (Это не будет проблемой для ОП, но может быть для других.)

2 голосов
/ 06 декабря 2011

<leader> удобно, но вы можете создавать сопоставления типа ,mm или \mm, не используя его.Просто скопируйте все свои <leader>something и переназначьте их с ' и \ напрямую:

nnoremap <leader>d "_d

станет

nnoremap ,d "_d
nnoremap \d "_d
0 голосов
/ 06 декабря 2011

Как именно это будет работать?Vim, когда он встречает <leader>, он заменяет его сопоставленным ключом.Если бы вы использовали два (ключи для <leader>), как бы он узнал, какой из них заменить <leader> на?

Что вы можете сделать, однако, это использовать <leader> и <localleader>, но это простодва отдельных лидера, не сопоставляя два ключа одному из них.

Итак, нет ... вы не можете.

Хотя вы можете назначить свои ярлыки явно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...