это выполнимо даже в vanilla vim, но применимость зависит от вашего варианта использования, т.е. как часто вам нужно будет повторять это, так как для его повторения требуется еще несколько нажатий клавиш.
Вариант 1: превратить его в режим командного режима
используя, например, перемещение вниз на 5 строк, вы можете сделать:
- введите
:norm 5j
, он переместит курсор вниз на 5 строк
- использовать,
@:
чтобы повторить движение
:norm
означает нормальный, любая следующая строка рассматривается как нажатия клавиш в нормальном режиме.
Вариант 2: использовать макрос
qa
(сохранить макрос в регистр a
, вы можете выбрать свой собственный регистр, как qb
, qc
)
5j
q
(закончить запись макроса)
@a
повторить записанную операцию (замените a
выбранным вами именем регистра, например @b
, @c
)
макрос требует больше духовной силы для настройки, но он более повторяем в том смысле, что вы можете хранить несколько операций в разных регистрах без переопределения последними операциями.
;
не новый Это стандартная команда vi. Vi запоминает тип и целевой символ (но не числовой аргумент) последнегоf
/F
/t
/T
движения и;
повторяет его. Однако это не повторяет другие движения.Вы можете выбрать строки, которые вы хотите изменить, и выполнить последнюю команду нормальной точки
источник