ошибка при воспроизведении записи макроса vim

Я знаю, как записать макрос с помощью vim. например. запись макроса a: в обычном режиме qa начать запись, выполнить какое-либо действие, q остановить запись.


Если я хочу сыграть в нее, я могу использовать @a. Теперь я хочу сыграть 10 раз, 10@а должны работать, Но для меня это не работа, Это просто игра в одну линию.

Зачем? что я должен сделать, чтобы заставить 10@a работать?


Так же, как следовать:

include <stdio.h>
include <string.h>
include <stdlib.h>
include <unistd.h>
include <my.h>

Я хочу добавить «#» в каждую строку, поэтому перекодируйте макрос a в первой строке, затем перейдите во вторую строку и выполните действие 4@a. Но неправильно

#include <stdio.h>
####include <string.h>
include <stdlib.h>
include <unistd.h>
include <my.h>

person jim ying    schedule 31.05.2015    source источник
comment
Чтобы добавить # к x строкам, используйте ctrl + v и I для вставки текста и нажмите Esc, когда закончите. Это будет писать то же самое во всех строках   -  person Ôrel    schedule 31.05.2015


Ответы (1)


Вы должны включить команду перемещения (вероятно, j в вашем случае) в макрос. Поэтому запишите свой макрос как

qaI#Escjq

А затем сыграйте с 4@a.

person Peter van der Heijden    schedule 31.05.2015
comment
Хорошо спасибо. Прежде чем я найду замену: визуальный режим, выберите следующие строки; затем выполните команду :normal @a. В любом случае, 4@a проще. - person jim ying; 31.05.2015