Много раз я нахожусь в ситуации, подобной этой:
1. <Line 1>
2. <Line 2>
3. <Line 3>
4. <Cursor is here>
5. <I want to copy line 1 here>
Простое решение - mm:1<CR>yy`mp
сделать отметку в строке 4, перейти к строке 1, скопировать ее, вернуться к отметке и вставить.
Есть ли более короткое / более жидкое решение для этого? Я делаю это достаточно часто, чтобы с радостью сделать для этого карту.
cursor-movement
Даниэль Кляйнштейн
источник
источник
Вы можете сократить его, не используя метки, и дернуть линию напрямую.
Командная версия yank принимает
{range}
так выбрать строку или группу строк.Кроме того, значение диапазона может быть абсолютным или относительным. Линии над курсором находятся на отрицательном расстоянии, а внизу - на положительном. Таким образом, выдергивание двух строк выше - это
:-2y
и выдергивание двух строк ниже - это:+2y
.источник