今天发现,如果您在 Textmate 中按下 Ctrl-Opt-Cmd-V,它会立即生成一个可爱的“选择器”对话框,允许您翻阅最近的剪贴板条目。它看起来与 VIM 中的 CTRL-P 和 -N 的工作方式非常相似,只是它显示整行而不是简单的单词对象。
这似乎在 VIM 中是可行的 — 它已经有一个充满条目的缓冲区(例如 YankRing 缓冲区),并且已经有一个选择器,但我想不出从哪里开始将这两者结合起来。有什么想法吗?
(我知道 YankRing 已经通过打开一个充满缓冲区内容的新窗口来实现这一点,但我想知道是否有办法做到这一点,而无需切换/关闭所有窗口/等等)
答案1
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