Подтвердить что ты не робот

Vi, копировать блок (не обычное действие)

много раз снова я использовал набор команд, но забыл его.

Я хочу это, (не yy или 10yy),

В редакторе vi мне нужно скопировать блок. Есть много способов, но один способ очень быстрый.

1, пометьте первую строку каким-либо образом,

2, затем обозначьте конечную строку каким-либо образом,

3, затем поместите некоторую команду для копирования помеченных строк.

4, затем скопируйте, вы можете использовать 'p', но не уверены.

Кто-нибудь знает команды? Заранее спасибо.

4b9b3361

Ответ 1

Другой вариант, который может быть легче запомнить, - разместить метки в двух строках с помощью m a и m b, затем запустите :'a,'byank.

Много разных способов выполнить эту задачу, просто предложив другую.

Ответ 2

просто используйте V, чтобы выбрать строки или V, чтобы выбрать символы или Ctrl V, чтобы выбрать блок.

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

Ответ 3

Похоже, вы хотите поместить метки в файл.

m x помещает метку с именем x под курсором

y ' x дергает все между текущей позицией курсора и строкой, содержащей метку x.

Вы можете использовать ' x, чтобы просто переместить курсор в строку с вашей меткой.

Вы можете использовать ` x (back-tick), чтобы перейти к точному местоположению метки.


Одна вещь, которую я делаю все время, - это все, что находится между курсором и меткой x, в буфер обмена.

Вы можете сделать это вот так:

" + y ' x

ПРИМЕЧАНИЕ. В некоторых средах буфер буфера обмена представлен * вместо +.


Аналогичные вопросы с некоторыми хорошими ответами:

Ответ 4

В их документации говорится:

Вырезать и вставить:

  • Поместите курсор, где вы хотите начать резку.
  • Нажмите v, чтобы выбрать символы (или в верхнем регистре v, чтобы выбрать целые строки).
  • Переместите курсор в конец того, что вы хотите вырезать.
  • Нажмите d для вырезания (или y для копирования).
  • Переместитесь туда, куда вы хотите вставить.
  • Нажмите P, чтобы вставить перед курсором, или P для вставки после.

Копирование и вставка выполняется с теми же шагами, за исключением шага 4, где вы нажимаете y вместо d:

d= delete= cut

y= yank= copy

Ответ 5

Вы можете сделать это так же, как и в vi, например, чтобы выровнять строки от 3020 до конца, выполните эту команду (напишите блок в файл):

: 3020, $w/tmp/yank

И чтобы записать этот блок в другую строку/файл, перейдите в нужную позицию и выполните следующую команду (вставьте файл, написанный ранее):

: r/tmp/yank

(Напоминание: не забудьте удалить файл:/tmp/yank)