Недавно я узнал от Practical Vim способ копирования или перемещения блока строк без необходимости перемещать курсор из текущей позиции. Это делается в режиме командной строки. например
:123,133m. # moves lines from 123 to 133 below the cursor position.
Хотя мне это нравится, набирать длинные номера строк очень сложно, особенно если в файле слишком много строк.
Время от времени линии для перемещения находятся относительно рядом с курсором (но я не хочу перемещать курсор, дергайте, возвращайтесь туда, где я был, вставьте!). Было бы здорово, если бы я мог использовать относительные числа, аналогично тому, как мы это делаем в обычном режиме. Это как сказать
переместите 5 строк, которые на 10 строк выше текущей строки, сюда
Короче говоря, как использовать относительные числа в режиме командной строки (аналогично обычному режиму)?
источник
15k d5j 10j P
.Вы можете использовать жесткие числа в вашем диапазоне:
Или относительные числа:
Или ручные отметки:
Или автоматические отметки:
Или поиски:
Или сочетания клавиш:
Или любую комбинацию из уловок выше:
источник
Вы можете использовать относительную адресацию (например
.-10,.+3
) с любой командой Ex, ср.:help :range
,В качестве альтернативы, посмотрите на мой плагин LineJuggler ; он предоставляет несколько коротких отображений для перемещения линий или дублирования их, и все эти отображения принимают относительное смещение линии как
[count]
.источник