Самый точный ответ, который я могу придумать, это просто:
:'k,.>
Т.е., используйте команду командного режима с диапазоном (:he :range
и другие секции )
На самом деле, вы могли бы делать «удаленные действия», которые напоминали бы иллюзии левитации для программистов, не инициированных vim. Просто попробуйте
:'k>
Отступ отмеченной линии, с расстояния ! 1
Вы обнаружите, что наиболее интересные команды редактирования имеют версию для командного режима. Например.
:'ky|put
Сдвиг отмеченной линии, поставить ее после текущей строки курсора.
Если команда командного режима отсутствует, всегда есть :normal
. Например. Вы можете
:'k,.norm ,cc
использование NerdCommenter для комментирования блока вместо отступа
Теперь, для удовольствия:
:'k,.>|'k,.retab|'k,.y+|u
Чтобы взять тот же блок, сделать отступ, перегруппировать его, поместить в буфер обмена Windows / X и отменить редактирование (это почти идеально подходит для вставки в StackOverflow). Обратите внимание, что на практике я бы предпочел использовать визуальный выбор для этого:
V'k:>|*retab|*y+|u
1
Справедливое предупреждение: некоторые «деструктивные» команды (такие как: удаление или некоторые сопоставления из сценариев, такие как :norm ,cc
, чтобы прокомментировать выбор) действительно перемещают курсор