Подтвердить что ты не робот

Как вставить перед курсором после выбора вертикального блока?

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

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

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

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

4b9b3361

Ответ 1

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

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

C-r"

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

C-r* 

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

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

Ответ 2

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