You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置nvim-cmp仅插入函数名称不展开参数?

解决nvim-cmp仅插入函数名称不展开参数的问题

可行,你可以通过自定义映射逻辑,只插入补全项的函数名称而非完整展开内容,具体配置如下:

cmp.setup({
  mapping = {
    -- 替换原来的<CR>映射
    ['<CR>'] = cmp.mapping(function(fallback)
      if cmp.visible() then
        local selected_entry = cmp.get_selected_entry()
        if selected_entry then
          -- 仅插入补全项的标签文本(即函数名)
          vim.api.nvim_put({selected_entry.abbr or selected_entry.label}, 'c', false, true)
          cmp.close()
        else
          fallback()
        end
      else
        fallback()
      end
    end, {'i', 's'}),
    -- 保留其他你需要的映射,示例如下
    ['<C-Space>'] = cmp.mapping.complete(),
    ['<C-k>'] = cmp.mapping.select_prev_item(),
    ['<C-j>'] = cmp.mapping.select_next_item(),
  }
})

说明

  • 这段代码会拦截回车按键:当补全菜单可见且有选中项时,直接插入该选项的abbr(优先)或label(即函数名称),随后关闭补全菜单;
  • 若没有选中项或补全菜单不可见,则触发回车的默认行为,不影响正常编辑;
  • 彻底避免自动插入参数列表、闭合括号等干扰内容,解决退出插入模式时可能破坏编辑内容的问题。

内容的提问来源于stack exchange,提问作者petersohn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 21:18:14