Как я могу использовать номер строки, чтобы скопировать строку туда, где находится мой курсор?


20

Много раз я нахожусь в ситуации, подобной этой:

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, скопировать ее, вернуться к отметке и вставить.

Есть ли более короткое / более жидкое решение для этого? Я делаю это достаточно часто, чтобы с радостью сделать для этого карту.

Ответы:


23

Выглядит как случай для ex copy ( :help :coили :help :t):

:1t4

или, используя позицию вашего курсора:

:1t.

Это не копирует строку в регистр янки, что может или не может быть то, что вы хотите.


Я не использую ex copy достаточно, хорошее предложение.
jecxjo

10

Вы можете сократить его, не используя метки, и дернуть линию напрямую.

:1y<CR>p

Командная версия yank принимает {range}так выбрать строку или группу строк.

Кроме того, значение диапазона может быть абсолютным или относительным. Линии над курсором находятся на отрицательном расстоянии, а внизу - на положительном. Таким образом, выдергивание двух строк выше - это :-2yи выдергивание двух строк ниже - это :+2y.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.