2009-04-08 3 views
13

Если у меня есть что-то, выбранное в VIM в визуальном режиме .... как я могу дублировать этот выбор и размещать его ниже или выше выбора.Vim duplicate selection

+0

Вы хотите выбрать такие же линии, но выше? или вы хотите дублировать выбор? –

+0

Я хочу дублировать выбор –

ответ

27

Просто нажмите «Y» дергать, что вы получили выбранный визуально , «p», чтобы вставить под курсором или «P», чтобы вставить выше.

И так как вы спросили о склеивании ниже блока выбора, я буду копировать то, что michael сказанное ниже: После того, как вы y дергать, вы '>, чтобы перейти к после блока выбора, а затем p приклеить.

0

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

уу

к у апк всей линии, а затем

р

к р асте.

+0

а) он не сказал, что это была одна строка, и б) зачем выходить из визуального режима, если вы уже выбрали его? –

1

использование у для копирования.Имя (копия) выделение в буфер

р для пасты выбор, где вы хотите быть

+0

Использование p для пасты приводит к форматированию, потому что оно не принимает целые строки –

0

У вас есть два варианта

  • YY, которая копирует текущую строку, а затем р наклеить
  • выбор грим (с об, например), а затем скопировать с у и пасты с p
+0

, используя p для пасты, вырывает формирование, потому что оно не принимает целые строки –

3

I n дополнение к V ... yp combo, вы можете узнать о некоторых переходах «< и», чтобы перейти к последнему символу предыдущего текста визуального режима. В частности, если вы хотите вставить ниже, вы бы пошли V ... y '> p, если он длинный многострочный, это может быть удобно.

Это один из тех прыжков, вы можете найти удобно, если вашим делать это много

+0

, которые, похоже, не работают, вы нажимаете ', а затем SHIFT +. получить>? –

+0

Это работает для меня. –

+0

Я действительно использую плагин VIM для Netbeans, так что это может быть проблема. –

6

Поскольку я делаю это много (выберите блок, дергать, перейдите к концу последнего визуального выделения, вставка) я создал визуальный блок клавиш под Ctrl-P (до этого, Ctrl-P, кажется, так же, как J в визуальном блоке)

vmap <C-p> y'>p 

Теперь это просто сделать визуальный выбор и нажав Ctrl-P.