Как вставить перед курсором после выбора вертикального блока? - PullRequest
26 голосов
/ 02 ноября 2010

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

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

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

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

Ответы [ 2 ]

140 голосов
/ 02 ноября 2010

Обычно команда P (в верхнем регистре, отличном от p ) вставляет содержимое буфера обмена перед позицией курсора.Это то, что вы ищете?(Я не совсем уверен, что вы имеете в виду, когда говорите, что нажимаете Command + I, поскольку на моей клавиатуре нет клавиши Command.)

16 голосов
/ 02 ноября 2010

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

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

C-r"

Аналогично, чтобы вставить из буфера обмена

C-r* 

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

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

...