Проблема в том, что команда, которую вы повторяете, - >'a
, но из-за правила "После применения оператора курсор в основном остается в начале текста, с которым вы работали" (из :help operator
), >'a
оставляет курсор на отметке a
, если это было выше вашей начальной позиции.Затем, когда вы повторяете >'a
, вы в конечном итоге получаете движение линии от этой линии к себе, которое переопределяет отступ только на одну строку.
Поскольку вы остаетесь в начале блока текста, это влияет наснова в том же текстовом блоке вы можете использовать движения ']
(по аналогии) или `]
(по часовой стрелке), которые перемещаются к концу только что затронутого блока текста.Таким образом, вы можете использовать >']
для повторного отступа того же блока, и так как ваш курсор начинается и заканчивается в том же положении в этот раз, вы можете повторить его еще раз с .
.
Более простой выбор, будет просто использовать V5j>
вместо ma5j>'a
.V
запускает визуальный режим (аналогично) в вашей текущей позиции, 5j
перемещается вниз на 5 строк, а затем >
отступов.И когда вы повторяете, используя .
, то же визуальное выделение сохраняется, поэтому вы получите желаемый результат, двигаясь вверх или вниз.