Дублируйте целую строку в Vim - PullRequest
       113

Дублируйте целую строку в Vim

1486 голосов
/ 16 сентября 2008

Как дублировать всю строку в Vim аналогично Ctrl + D в IntelliJ IDEA / Resharper или Ctrl + Alt + / в Eclipse?

Ответы [ 19 ]

11 голосов
/ 19 сентября 2008

Вы также можете попробовать , который будет повторять последнюю строку из режима вставки и открывает окно завершения со всеми строками. Это работает почти как

10 голосов
/ 14 июля 2009

Мне нравится: Shift + v (чтобы сразу выделить всю строку и, если хотите, выбрать другие строки), y, p

10 голосов
/ 12 мая 2016

Для тех, кто не знает vi, некоторые ответы сверху могут ввести его в заблуждение такими словами, как «вставить ... после / до» текущая строка ".
Это на самом деле "вставить ... после / до курсор ".

y y или Y для копирования строки
или
d d для удаления строки

1021 * тогда *

p для вставки скопированного или удаленного текста после курсор
или
P для вставки скопированного или удаленного текста перед курсор


Для получения дополнительной привязки клавиш вы можете посетить этот сайт: vi Полный список привязок клавиш

3 голосов
/ 16 сентября 2008

1 Гоча: когда вы используете «p», чтобы поместить строку, она ставит после строки, на которой находится курсор, поэтому, если вы хотите добавить строку после строки, которую вы дергаете, не перемещайте курсор вниз на строку, прежде чем ставить новую строку.

2 голосов
/ 13 апреля 2018

Я знаю, что опаздываю на вечеринку, но что угодно; У меня есть это в моем .vimrc:

nnoremap <C-d> :copy .<CR>
vnoremap <C-d> :copy '><CR>

команда :copy просто копирует выбранную строку или диапазон (всегда целые строки) ниже номера строки, заданного в качестве аргумента.

В обычном режиме это copy . скопировать эту строку чуть ниже этой строки .

А в визуальном режиме он превращается в '<,'> copy '> копию от начала выделения до конца выделения в строку ниже конца выделения .

2 голосов
/ 20 апреля 2015

По умолчанию y y p , но я использую эту привязку в течение года или около того, и мне это нравится:

" set Y to duplicate lines, works in visual mode as well. nnoremap Y yyp vnoremap Y y`>pgv

1 голос
/ 10 февраля 2016

Для тех, кто начинает изучать vi, приведем хорошее введение в vi, перечислив рядом команды vi с типичным движением курсора в Windows GUI Editor и сочетаниями клавиш. В нем перечислены все основные команды, включая гг (строка копирования) и p (вставка после) или P (вставка до).

vi (Vim) для пользователей Windows

0 голосов
/ 11 апреля 2018

Мне нравится использовать это отображение:

:nnoremap yp Yp

потому что он позволяет использовать вместе с собственной командой YP.

0 голосов
/ 11 февраля 2018

Если вы хотите скопировать строку и вставить ее сразу под текущим значением, как в Sublime Ctrl + Shift + D , то Вы можете добавить это в свой .vimrc файл.

imap <S-C-d> <Esc>Yp

...