Я имел в виду скопировать и вставить строку 4 в строку 12.
Lazer
Ред. Это то, что вы хотели?
Уманг
2
Другие уже упоминали самый прямой способ сделать это, :4yно я хочу добавить две заметки об этом, которые могут быть полезны:
Во-первых, если вы введете текст, :help rangeвы узнаете все об использовании диапазонов для применения к командам в стиле Ex. ОЧЕНЬ полезно во многих случаях и гораздо более универсально, чем использование номеров строк. Например, если вы хотите восстановить первую строку, начинающуюся с «yank» после начала документа (даже если она находится в первой строке), используйте :0/^yank/y. Самая мощная часть диапазонов - это возможность комбинировать их, например, :./^Chapter/+50?Pete?dозначает «Найти следующую строку, чтобы начать со слова Глава (поиск вперед от текущей строки), затем перейти на 50 строк вперед и найти слово Пит назад». и удалите первую строку, в которой вы найдете его. " За исключением того, что он на самом деле не двигает курсор, он просто делает то, что вы говорите.
(Я использовал этот тип спецификации диапазона, чтобы автоматизировать создание документации, включающей в себя поиск имени функции под курсором, затем поиск вперед следующей строки с надписью «Description» и возврат ее в определенный регистр ... и т. Д.)
Другой совет, что вы должны знать о прыжках. Напечатайте, :help jump-motionsчтобы узнать об этом полностью, но способ, которым это здесь связано, заключается в том, что вы можете перейти к строке 4, вернуть ее, а затем ВЕРНУТЬСЯ 4Gyy''(или использовать обратные тики вместо апострофов, чтобы вернуться к вашей точной стартовой позиции, а не просто к той же ЛИНИЯ Вы начали в.)
Ответы:
Если курсор уже находится в строке 12, то простой
делает это для меня.
источник
x
? Когда я пытаюсь,:4x
я получаюE140: Use ! to write partial buffer
. Благодарность!:4d
Как насчет этого: курсор находится в строке 11, вы находитесь в режиме "vi".
Вы также можете сделать это с помощью шаблона:
Вы можете использовать «mo» (переместить) вместо «co» (копировать), чтобы просто переместить строку вместо yank и put.
источник
:4t.
Попробуй это:
источник
Пытаться:
Вы можете использовать аргумент
0
для вставки в строку1
. Это также будет работать с диапазонами:скопирует линии
m
черезn
к линииk+1
. Кроме того, не имеет значения, где вы находитесь в буфере.move
Команда,m
, работает аналогично.источник
Это должно сделать это:
источник
Другие уже упоминали самый прямой способ сделать это,
:4y
но я хочу добавить две заметки об этом, которые могут быть полезны:Во-первых, если вы введете текст,
:help range
вы узнаете все об использовании диапазонов для применения к командам в стиле Ex. ОЧЕНЬ полезно во многих случаях и гораздо более универсально, чем использование номеров строк. Например, если вы хотите восстановить первую строку, начинающуюся с «yank» после начала документа (даже если она находится в первой строке), используйте:0/^yank/y
. Самая мощная часть диапазонов - это возможность комбинировать их, например,:./^Chapter/+50?Pete?d
означает «Найти следующую строку, чтобы начать со слова Глава (поиск вперед от текущей строки), затем перейти на 50 строк вперед и найти слово Пит назад». и удалите первую строку, в которой вы найдете его. " За исключением того, что он на самом деле не двигает курсор, он просто делает то, что вы говорите.(Я использовал этот тип спецификации диапазона, чтобы автоматизировать создание документации, включающей в себя поиск имени функции под курсором, затем поиск вперед следующей строки с надписью «Description» и возврат ее в определенный регистр ... и т. Д.)
Другой совет, что вы должны знать о прыжках. Напечатайте,
:help jump-motions
чтобы узнать об этом полностью, но способ, которым это здесь связано, заключается в том, что вы можете перейти к строке 4, вернуть ее, а затем ВЕРНУТЬСЯ4Gyy''
(или использовать обратные тики вместо апострофов, чтобы вернуться к вашей точной стартовой позиции, а не просто к той же ЛИНИЯ Вы начали в.)источник
Кратчайший:
:1t.
копирует первую строку ниже текущейС диапазонами:
:1,4t.
копирует строки с 1 по 4 (включительно) ниже текущего.Также возможно с относительными номерами строк:
:-1t.
копирует предыдущую строку ниже текущей.В вашем примере
:4t-1
скопируйте четвертую строку ниже требуемой строки.Примечание:
:t
это синоним:co[py]
команды.источник