2010-11-01 2 views
18

Я уверен, что это должно существовать, но если это не возможно, есть макрос для этого ...Как вставить перед курсором после выбора вертикального блока?

Один из моих самых любимых особенностей Vim является вставка перед тем, когда в визуальном режиме (<C-v> , выберите линии, <C-I>, введите немного, затем Esc).

Моя проблема в том, что я хочу вставить содержимое буфера обмена до, а не «вставить». Я пробовал <C-P>, но не люблю.

Я прочитал чит-листы, искал везде, просматривал вопросы здесь и не нашел его, но я определенно искал бы неправильную вещь.

+0

Связанный: [Как вставить строку в вертикальный блок выбора?] (Http://vi.stackexchange.com/q/4774/467) на Vim SE – kenorb

ответ

10

Предполагаете, вы имеете в виду использование I в режиме визуального блока для вставки того же текста на нескольких линиях, где удар p просто вставляет только текущую строку, а не все выделенные строки.

В режиме вставки, вы можете нажать C-r а затем в регистре, чтобы вставить содержимое этого регистра, так что если вы хотите, чтобы вставить безымянный буфер, нужно ввести

C-r" 

Аналогичны, чтобы вставить из клипборд

C-r* 

Вводя вставки, как обычно, а затем с помощью C-r, вы получите текст на все выбранные строки.

Посмотрите на :h registers, чтобы узнать, какие регистры доступны для вас.

+0

Perfect !! Благодаря!!! – Christian

114

В общем случае, Р команда (в верхнем регистре, отличается от р) вставляет содержимое буфера обмена перед положением курсора. Это то, что вы ищете? (Я не совсем уверен, что вы имеете в виду, когда говорите, что вы нажимаете Command + I, так как моя клавиатура не имеет командного ключа.)

+0

ОК, извините, , чтобы сделать вставить раньше. пасты один раз только. – Christian

+3

Ну, этот ответ может быть не тем, что искал первоначальный искатель, но, похоже, это решение для всех остальных. – vastlysuperiorman

+1

Это правильный ответ, по крайней мере, для моего прецедента: P – kroe