Скопируйте несколько раз перед вставкой всего содержимого в vim


В vim есть ли способ скопировать несколько раз, накопить каждый из них в буфер обмена,а затем вставить все сразу, где каждое содержимое разделено новой строкой?

3 2

3 ответа:

Используйте регистры верхнего регистра для добавления. Например, очистим и вытянем строку для регистрации "a, добавим строку, добавим другую строку, а затем вставим:

"ayy
"Ayy
"Ayy
"ap

Флаг > в cpoptions вставляет разрыв строки перед добавленным текстом.

Если все эти линии имеют общий шаблон, вы можете :help :copy (или его Кратчайшая Альтернатива :help :t) их все сразу с:

:g/pattern/t<line number>

У меня есть эта строка в моем .vimrc

nnoremap yY :let @"=@".getline('.')."\n"<CR>

Нажатие клавиши yY добавляет строку под курсором к безымянному регистру.

Используйте его вот так: Сначала нажмите yy, чтобы дернуть строку под курсором.

Затем нажмите yY на нескольких других строках.

Наконец нажмите p, чтобы поместить все эти строки куда-нибудь.