NVIM-CMP:Neovim的Lua编写的补全插件

NVIM-CMP:Neovim的Lua编写的补全插件

nvim-cmpA completion plugin for neovim coded in Lua.项目地址:https://gitcode.com/gh_mirrors/nv/nvim-cmp

1. 项目介绍

NVIM-CMP 是一个由Lua编写的Neovim补全插件,它提供了强大的自定义功能、对LSP(Language Server Protocol)相关完成能力的全面支持以及智能键映射处理。此插件旨在无闪烁地提供流畅的代码补全体验,并且可以与诸如vim-vsnip这样的snippet扩展无缝配合。

2. 项目快速启动

安装依赖

确保已经安装了以下依赖:

  • neovim/nvim-lspconfig: Neovim的内置LSP客户端配置库。
  • hrsh7th/cmp-nvim-lsp: 提供与NVIM-LSP集成的NVIM-CMP源。
  • 其他源如cmp-buffer, cmp-path, cmp-cmdline等,根据需求选择安装。

如果你使用的是vim-plug作为插件管理器,可以在你的init.vim.vimrc中添加以下内容:

call plug#begin('~/.local/share/nvim/plugged')
Plug 'neovim/nvim-lspconfig'
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/cmp-cmdline'
call plug#end()

然后运行:PlugInstall以安装所有依赖。

配置NVIM-CMP

在你的init.vim文件里,加入以下配置来启动NVIM-CMP:

lua << EOF
require'cmp'.setup {
  sources = {
    { name = 'nvim_lsp' },
    { name = 'buffer' },
    { name = 'path' },
    { name = 'cmdline' }
  }
}
EOF

启动LSP服务

配置特定的LSP服务器,例如对于PHP:

require'lspconfig'.php.setup{}

3. 应用案例和最佳实践

  • 使用cmp_nvim_lsp模块增强LSP的默认行为:
local capabilities = require('cmp_nvim_lsp').default_capabilities()
require('lspconfig')['your_lsp_server'].setup{
  capabilities = capabilities;
  -- 其他LSP配置...
}
  • 自定义键绑定以控制补全菜单:
inoremap <silent><C-Space> <cmd>cmp.toggle()<CR>
inoremap <silent><C-e> <cmd>cmp.confirm()<CR>
  • 结合vim-vsnip进行snippet支持:
require('cmp').setup {
  snippet = {
    expand = { func = 'vsnip#expand_or_jump' }
  }
}

4. 典型生态项目

  • LSP服务器: 如vim-lsp, coc.nvim, 或Neovim自带的LSP客户端。
  • Snippet扩展: 如ultisnips, snippetsync, 或本例中的vim-vsnip
  • 其他补全源: 可以结合cmp-nvim-lua, cmp-nvim-autopairs等进一步丰富补全来源。
  • LSP配置: 如nvim-lspconfig用于管理和配置各种语言的LSP服务。

通过灵活的配置和与其他组件的集成,NVIM-CMP可成为Neovim开发者提高编码效率的强大工具。要了解更多详情和高级设置,请参考官方仓库的ReadmeWiki

nvim-cmpA completion plugin for neovim coded in Lua.项目地址:https://gitcode.com/gh_mirrors/nv/nvim-cmp

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

章来锬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值