completion-nvim 使用教程
项目介绍
completion-nvim
是一个为 Neovim 内置 LSP 提供自动补全功能的异步框架,使用 Lua 编写。该项目旨在提供一个更好的自动补全体验,支持多种补全源和插件集成,如 vim-vsnip
和 snippets.nvim
。尽管该项目已被标记为不再维护,但仍可作为学习和参考的资源。
项目快速启动
安装
使用任何插件管理器安装 completion-nvim
:
Plug 'nvim-lua/completion-nvim'
配置
在 Neovim 配置文件中添加以下配置:
" 启用自动补全
let g:completion_enable_auto_popup = 1
" 设置确认键
let g:completion_confirm_key = "\<C-y>"
" 启用删除时的自动补全
let g:completion_trigger_on_delete = 1
启动
确保你已经配置了相应的语言服务器,并启动 Neovim:
nvim
应用案例和最佳实践
集成其他插件
completion-nvim
可以与其他 LSP 片段解析插件集成,例如 vim-vsnip
和 snippets.nvim
。以下是一个示例配置:
" 集成 vim-vsnip
Plug 'hrsh7th/vim-vsnip'
Plug 'hrsh7th/vim-vsnip-integ'
" 配置 vim-vsnip
let g:completion_chain_complete_list = {
\ 'default': [
\ {'complete_items': ['lsp', 'snippet']},
\ {'complete_items': ['path']},
\ {'complete_items': ['buffer']},
\ ]
\ }
调整补全触发时间
你可以调整补全触发的定时器周期:
let g:completion_timer_cycle = 200 " 默认值是 80
典型生态项目
nvim-lspconfig
nvim-lspconfig
是一个配置 Neovim 内置 LSP 的插件,与 completion-nvim
配合使用可以提供完整的 LSP 支持。
nvim-cmp
nvim-cmp
是 completion-nvim
的替代品,由 Neovim LSP 团队推荐,提供更现代的自动补全体验。
coq_nvim
coq_nvim
是另一个推荐的自动补全插件,提供强大的自动补全和代码片段支持。
通过以上教程,你可以快速上手并配置 completion-nvim
,结合其他生态项目,提升你的 Neovim 开发体验。