Vim: Как создать автоматическое заполнение/селектора из записей в буфере?

Узнанный сегодня, что при нажатии Ctrl-Opt-Cmd-V in Textmate это производит милый небольшой диалог "селектора", оперативный, который позволяет Вам пролистывать свои недавние записи буфера обмена. Это выглядит очень похожим на то, как работа CTRL-P и-N в VIM, кроме него показывает целые строки вместо простых объектов слова.

Кажется, что это было бы выполнимо в VIM — это уже имеет буфер, полный записей (буфер YankRing, например), и это уже имеет селектора, но я не могу думать, где я надеялся бы начинать соединять эти два. Какие-либо идеи?

(Я знаю, что YankRing уже делает это путем открытия нового окна, полного содержимого буфера, но интересно, существует ли способ сделать это без всего окна, switching/closing/etc),

1
задан 22.02.2011, 23:11

2 ответа

Vim обеспечивает два пользовательских механизма завершения вставки: Определяемое пользователем завершение и завершение Omni. Можно читать о них здесь:

:help compl-function
:help compl-omni
:help complete-functions
:help 'completefunc'
:help 'omnifunc'

Я никогда не использовал их сам, но так как Вы попросили то, где начать смотреть, вот именно. Можно также хотеть считать этот раздел,

:help ins-completion

для объяснения различных встроенных механизмов завершения режима вставки Vim, которые могут помочь Вам постараться не писать свое собственное. Я не видел предопределенный механизм для выбора из записей буфера обмена, как бы то ни было. Можно вставить от предыдущих удалений с небольшой работой при помощи :registers просмотреть доступные регистры и затем вставку содержания желаемого регистра с Ctrl-R, сопровождаемым именем регистра. Посмотрите

:help :register
:help registers
:help i_CTRL-R
1
ответ дан 17.12.2019, 00:25

Мой ответ является, вероятно, небольшим OT, но я предпочитаю иметь менеджера по буферу обмена в масштабе всей системы, поскольку эта функциональность полезна во многих контекстах. Вот те, я использую с тем же самым сочетанием клавиш для каждого:

0
ответ дан 17.12.2019, 00:25

Теги

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