Vim - 生成用于手动搜索的下拉菜单

Dyl*_*pel 2 vim

我正在尝试在 Vim 中编写自己的自动完成功能,它模仿CTRL-x CTRL-(l,n, or p)自动完成的一个很好的功能,即我想生成一个可供选择的可能选项的下拉菜单。

我对上述命令的问题是它们搜索以完成当前单词,我想创建一个搜索来处理任何连续特殊字符序列。我已经使用正则表达式和命令为我的函数制定了搜索功能normal,但我现在知道如何生成选择菜单。

任何提示将不胜感激。

(注意:我知道有一些插件可以提供此功能,但我更感兴趣的是了解如何使用内置的 Vim 功能来实现此功能。)

Ran*_*ris 5

我相信文档中的这个示例complete()完全符合您的要求。复制自:help complete(

inoremap <F5> <C-R>=ListMonths()<CR>

func! ListMonths()
    call complete(col('.'), ['January', 'February', 'March',
        \ 'April', 'May', 'June', 'July', 'August', 'September',
        \ 'October', 'November', 'December'])
    return ''
endfunc
Run Code Online (Sandbox Code Playgroud)