AstroNvim 中 nvim-cmp 和 copilot.vim 之间的 Tab 键映射冲突

问题描述 投票:0回答:1

我正在使用 AstroNvim,并且刚刚安装了

copilot.vim
。它工作正常,只是我想使用
Tab
键接受副驾驶建议。但是,根据
AstroNvim 文档
Tab 键映射到“下一个完成”。如何禁用此行为,以便
Tab
键仅用于接受 Copilot 建议?

我尝试在我的

lua/plugins/cmp.lua
文件中添加以下代码:

return {
  "hrsh7th/nvim-cmp",
  opts = function(_, opts)
    local cmp = require("cmp")
    opts.mapping["<Tab>"] = nil
  end
}

但是还没有任何效果。

lua neovim nvim.cmp
1个回答
0
投票

这是适合我的代码片段。

cmp.setup {
  mapping = {
    ["<Tab>"] = function(fallback)
      local copilot_keys = vim.fn['copilot#Accept']()
      if cmp.visible() then
        cmp.select_next_item()
      elseif copilot_keys ~= '' and type(copilot_keys) == 'string' then
        vim.api.nvim_feedkeys(copilot_keys, 'i', true)
      else
        fallback()
      end
    end,
  },
  experimental = {
    ghost_text = true,
  },
}
© www.soinside.com 2019 - 2024. All rights reserved.