complete() 上的自定义操作
Custom action on complete()
在 Atom IDE 中,有一个名为“片段”的不错的功能,它允许通过键入特定的字符序列来插入用户定义的代码块:
我根据Vim文档做了一个小例子:
inor <F5> <C-R>=ShowPopup()<CR>
func! ShowPopup()
call complete(col('.'), ['inc', 'main'])
retu ''
endf
现在,当我在弹出菜单中 select 项并在插入模式下按 Enter 时,我希望 main
项变为 int main() {}
.内置 Vim 功能是否可行?
有可能。它只需要一些工作。通常以...片段插件结束的工作。是的,插件是根据内置功能编写的。
这个想法是完成函数触发一个用于进行实际替换的事件。例如,在 vi.SE 上查看 Q/A,我在其中探索如何编写更动态的完成函数:https://vi.stackexchange.com/questions/5820/dynamic-completion
在 Atom IDE 中,有一个名为“片段”的不错的功能,它允许通过键入特定的字符序列来插入用户定义的代码块:
我根据Vim文档做了一个小例子:
inor <F5> <C-R>=ShowPopup()<CR>
func! ShowPopup()
call complete(col('.'), ['inc', 'main'])
retu ''
endf
现在,当我在弹出菜单中 select 项并在插入模式下按 Enter 时,我希望 main
项变为 int main() {}
.内置 Vim 功能是否可行?
有可能。它只需要一些工作。通常以...片段插件结束的工作。是的,插件是根据内置功能编写的。
这个想法是完成函数触发一个用于进行实际替换的事件。例如,在 vi.SE 上查看 Q/A,我在其中探索如何编写更动态的完成函数:https://vi.stackexchange.com/questions/5820/dynamic-completion