Как получить сопоставленные значения в Vim и сохранить их

Скажем, у меня есть следующее сопоставление:

imap a AAA
vmap b BBB

Мне нужен способ получить значение сопоставлений. Следующий вариант мне не подходит, потому что мне нужно работать с возвращаемыми отображенными значениями:

imap a
vmap b

Я ищу что-то вроде этих функций:

let a = getimap("a")   => a = "AAA"
let b = getvmap("b")   => b = "BBB"

person Sergey Potapov    schedule 25.04.2013    source источник


Ответы (2)


функция maparg() - это то, что вы ищете. :h maparg(, чтобы увидеть подробности.

на ваш вопрос, если у вас есть эти два сопоставления, вы можете:

let a =  maparg('a','i')
let b =  maparg('b','v')
person Kent    schedule 25.04.2013
comment
Не знаю, о чем я думал, когда размещал это, я написал let a = echo maparg(...): - / fixed .. - person Kent; 26.04.2013
comment
Ух ты! Замечательно! Спасибо! - person Sergey Potapov; 26.04.2013

Для этого можно использовать maparg(), например:

let a = maparg("a")

Вы также можете указать режим, если вам нужны сопоставления только для одного режима, и при необходимости он будет заполнять словарь каждой деталью сопоставления (например, <silent> и т. Д.). См. :h maparg() для получения подробной информации.

person Jim Stewart    schedule 25.04.2013
comment
{mode} аргумент необходим для его вопроса - person Kent; 26.04.2013
comment
О, это прекрасно. Спасибо! - person Sergey Potapov; 26.04.2013