Как вставить перед курсором после выбора вертикального блока?
Я уверен, что это должно существовать, но если это не возможно, для него есть макрос...
Одна из моих самых любимых функций vim - это вставка перед тем, как в визуальном режиме (<C-v>
, выберите строки, <C-I>
, немного введите, затем Esc).
Моя проблема в том, что я хочу вставить содержимое буфера обмена раньше, а не "вставить". Я пробовал <C-P>
, но не люблю.
Я читал чит-листы, искал везде, просматривал вопросы здесь и не нашел его, но я определенно мог бы найти неправильную вещь.
Ответы
Ответ 1
Я предполагаю, что вы имеете в виду использование I
в режиме визуального блока для вставки одного и того же текста на несколько строк, где нажатие p
просто вставляется в текущую строку, а не все выделенные строки.
В режиме вставки вы можете нажать C-r
, за которым следует регистр, чтобы вставить содержимое этого регистра, поэтому, если вы хотите вставить неназванный буфер, вы должны ввести
C-r"
Аналогично, чтобы вставить из буфера обмена
C-r*
Введя вставку, как обычно, используя C-r
, вы получите текст по всем выделенным строкам.
Взгляните на :h registers
, чтобы узнать, какие регистры доступны для вас.
Ответ 2
Как правило, команда P (верхний регистр, отличный от P) вставляет содержимое буфера обмена перед позицией курсора. Это то, что вы ищете? (Я не совсем уверен, что вы имеете в виду, когда говорите, что вы нажимаете Command + I, поскольку моя клавиатура не имеет командного ключа.)