2012-04-05 4 views
0

Обычно я набираю m сразу, а затем c, чтобы установить маркер (тег) c, который я могу использовать с 'c, чтобы перейти к этой позиции. Теперь я пытаюсь определить команду в Vim, который устанавливает маркерset marker (tag) в команде vim

:command! Setmark mc 

Но с

:Setmark 

Я получаю

E14: invalid address 

потому что, очевидно, с не является командой, а скорее что-то вроде аргумента для команды m. Как установить действительный адрес для маркера в команде/скрипте vim?

ответ

4

Вы должны обернуть обычные команды под :normal, который является экс-команда (вид команды, ожидаемый :command

:command! Setmark normal mc 

В качестве альтернативы использовать правильный :mark экс-команду:.

:command! Setmark mark c 

Справка содержит полную информацию.

+0

Кажется работать. Есть ли ненормальная команда, эквивалентная заданию меток, которые, я думаю, были бы предпочтительнее для скриптов? – highsciguy

+0

@ user429540 Да, я включил это в ответ. – sidyll

Смежные вопросы