Вставьте многострочную строку в GVIM в позиции курсора

Я не знаю, быстр ли этот или нет, но по крайней мере это просто.

Просто, преобразуйте его сначала в набор и с другой стороны в список

def unique(container):
  return list(set(container))
7
задан Rabarberski 2 May 2011 в 09:41
поделиться

5 ответов

First of all it seems CTRL-V is mapped to something because normally pasting in VIM is not done using CTRL-V (CTRL-V is visual block).

Second the behaviour you are seeing is standard vi[m] behaviour, if you yank one or more entire lines, pasting will always result in one or more lines above or below the current line.

I do not know of any builtin way to achieve what you are trying to do. But you could always remap CTRL-V to something that does do what you want, i.e.

:map <C-V> i<CR><Esc>"*P

After that pasting multiple lines will be between the characters your cursor was at, but this remapping probably is not what you want in other cases.

EDIT

OK, I found another way.

When in insert mode, type

CTRL-R *

this will paste the contents of the clipboard buffer at the location the cursor is at. (You can also use this to paste the contents of other buffers)

10
ответ дан 6 December 2019 в 14:06
поделиться

Используйте ярлыки p и P (вставьте после и перед курсором соответственно). Добавьте "* , чтобы указать содержимое системного реестра (буфер обмена Windows, в вашем случае), или " + (для UNIX).

Итак, вы можете использовать:

  • ] "* p вставить перед курсором
  • " * P вставить после курсора
  • "* y copy (визуальная область, или занимает постфикс, сообщающий Vim, "что" копировать)
  • "* d вырезать (визуальная область или postfix)

и т. д.

1
ответ дан 6 December 2019 в 14:06
поделиться

Если вы хотите удалить символы новой строки из регистра перед вставкой из него, вы можете использовать регистр выражения "= :

:map <C-v> "=substitute(@*, "\n", " ", "g")<CR>p
2
ответ дан 6 December 2019 в 14:06
поделиться
:set paste

перед тем, как вставить что-либо в буфер

:set nopaste

для восстановления настроек форматирования

1
ответ дан 6 December 2019 в 14:06
поделиться

Чтобы вставить в gVim из буфера обмена Windows в позиции курсора, используйте

"+gP
Не забудьте двойные кавычки.
1
ответ дан 6 December 2019 в 14:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: