Skip to content
On this page

vim-complete

vim是如何补全的呢?

User defined completion 需要设定 completefunc

h complete-functions

vimL
set completefunc=CompleteMonths
1

complete-items

h complete-itemscomplete函数返回的值,可以是一个stringdictionary,

如果返回是一个dictionarylist,包含下面的key值,具体含义查看help

  • word
  • abbr
  • menu
  • info -> show in preview
  • kind
  • icase
  • equal
  • dup
  • empty
  • user_data

completeopt ?

查询例子:CompleteMonths -> :h E840

ins-completion-menu

需要completeopt 包含menuormenuone

  • pumheight设置menu高度
  • pumwidth 设置menu宽度

三种状态

  • 完全匹配被插入
  • 选择匹配时
  • 部分匹配 backspace

omni-complete

vimL
h omnifunc
h compl-comni-filetypes
1
2

complete()

vimL
:h complete()
1

引用/学习