Как вставить в новую строку с Vim? - PullRequest
118 голосов
/ 28 августа 2009

Мне часто приходится вставлять некоторые вещи в новую строку в vim. Что я обычно делаю, это:

o<Esc>p

Который вставляет новую строку и переводит меня в режим вставки, затем выходит из режима вставки и, наконец, вставляет.

Три нажатия клавиш. Не очень эффективно. Есть идеи получше?

Ответы [ 12 ]

0 голосов
/ 06 мая 2019

Я использую следующее сопоставление в моей конфигурации Neovim:

nnoremap <leader>p m`o<ESC>p``
nnoremap <leader>P m`O<ESC>p``

Небольшое объяснение:

  • m`: установить отметку в текущей позиции курсора.
  • o<Esc>p: создайте новую строку ниже и вставьте текст в эту строку
  • O<Esc>P: создайте новую строку выше и вставьте текст в эту строку
  • ``: установить курсор в исходное положение

См. :h mark для получения дополнительной информации о знаках в Vim.

0 голосов
/ 20 июня 2014

Это решение, кажется, применимо только тогда, когда блок скопированного текста начинается с новой строки (в отличие от захвата фрагмента текста где-то внутри строки), но вы всегда можете начать копирование с последнего символа, который хотите захватить. , затем перейдите к последнему символу в конце строки до начала нужного вам блока копирования. Затем, когда вы хотите вставить его, поместите курсор в конец строки, под которой вы хотите вставить текст, и нажмите p. Если я не облажался с объяснением, это должно обеспечить тот эффект, который вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...