Skip to content
On this page

Neovim配置nvim-cmp


标签:vim/config  

packer.nvim 的配置中添加:

lua
use {
	'hrsh7th/nvim-cmp',
	requires = {
		{'hrsh7th/cmp-buffer'},
		{'hrsh7th/cmp-nvim-lsp'},
	}
}

init.lua ( 我自己是用 lua/core.lua ) 中配置:

lua
local cmp = require'cmp'

cmp.setup({
  sources = {
    { name = 'nvim_lsp' },
    { name = 'buffer' },
  },
  mapping = {
    ['<C-n>'] = cmp.mapping.select_next_item(),
    ['<C-p>'] = cmp.mapping.select_prev_item(),
    ['<Enter>'] = cmp.mapping.confirm({
      behavior = cmp.ConfirmBehavior.Replace,
      select = true,
    }),
    ['<Tab>'] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 's' }),
    ['<S-Tab>'] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 's' }),
  },
})

我设置的快捷键是 Tab 切换 Enter 确认, 可以根据自己的喜好设置.

此时 Neovim 可以直接提示代码分词后的文本, 但是如果想要自动提示 snippet 或者 lsp 还需要进一步配置:

Last updated: