copilot.lua

让 Neovim 秒变 AI 补全编辑器,Tab 即用

copilot.lua 是 Neovim 中 GitHub Copilot 的完整增强替代品,用 Lua 编写,目标是让 Neovim 用户获得比 copilot.vim 更顺滑的 AI 补全体验。它直接与 GitHub Copilot 服务通信,在编辑器中以虚拟文本形式实时展示建议,按 Tab 即可采纳,并支持逐词接受、部分接受等精细操作。项目内置与 nvim-cmp 的集成方案,可把 Copilot 建议接入补全菜单,也提供 API 供其他插件调用,方便自定义触发条件、快捷键与显示方式。相比官方 copilot.vim,它的配置更灵活、可编程性更强,并支持通过 LSP 方式与 Copilot 服务交互。适合已经深度使用 Neovim、希望把 AI 补全无缝融入现有工作流,并愿意用 Lua 做个性化配置的开发者。

开源 free 编程开发
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 4100
维护状态 活跃
是否开源
定价模式 free

项目数据

分类编程开发
开发团队zbirenbaum
所属国家
官网地址
定价模式free
价格说明开源免费,需自备 GitHub Copilot 订阅
访问状态
是否开源
开源协议MIT
主要语言Lua
技术栈/模型copilot,github-copilot,lsp-server,lua,neovim,nvim-cmp
GitHub 星标★ 4100
30天Star增速
HF 下载量
上线时间2022-04-02 00:00:00
最近更新2026-09-15 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-15
浏览次数0

使用教程

难度:入门 约 10 分钟 部署方式:本地安装 5 步

环境要求

  • NeoVim 0.11.0 或更高版本
  • NodeJS v22 或更高版本
  • 已安装插件管理器(如 packer.nvim)
  • (可选)copilot-lsp 用于 NES 功能

安装与启动步骤

  1. 1确认环境版本

    先检查 NeoVim 与 NodeJS 版本,低于 0.11.0 / v22 需要先升级,否则 Copilot 服务无法运行。

    nvim --version
    node -v
  2. 2安装插件

    用你习惯的插件管理器添加 zbirenbaum/copilot.lua;需要 NES 功能时再加上 copilot-lsp 依赖。

    use { "zbirenbaum/copilot.lua",
      requires = {
        "copilotlsp-nvim/copilot-lsp", -- (optional) for NES functionality
      },
    }
  3. 3配置懒加载

    Copilot 服务启动需要时间,README 建议懒加载:以 Copilot 命令和 InsertEnter 事件触发,避免拖慢启动。

    use {
      "zbirenbaum/copilot.lua",
      requires = {
        "copilotlsp-nvim/copilot-lsp", -- (optional) for NES functionality
      },
      cmd = "Copilot",
      event = "InsertEnter",
      config = function()
        require("copilot").setup({})
      end,
    }
  4. 4调用 setup 启动

    必须执行 require("copilot").setup(options) 才会启动 Copilot;不传参数即使用默认配置。

    require("copilot").setup({})
  5. 5按需自定义配置

    在 setup 的 table 中覆盖默认项,例如面板、建议键位、模型、Node 路径等,再重启 Neovim 生效。

    require('copilot').setup({
      panel = { enabled = true },
      suggestion = {
        enabled = true,
        auto_trigger = false,
        keymap = { accept = "" },
      },
      copilot_node_command = 'node',
    })

关键配置

配置项必填说明示例
suggestion.enabled是否启用内联虚拟文本建议(默认 true)true
suggestion.auto_trigger是否自动触发建议,默认关闭需手动触发false
panel.enabled是否启用建议列表面板true
nes.enabled启用 NES 功能,需以 copilot-lsp 为依赖false
copilot_node_command调用 Copilot 服务使用的 Node 命令,需 v22+node
auth_provider_url非 github.com 的认证提供方地址,默认 nilnil

如何确认成功

重启 Neovim 后执行 :Copilot 命令,或进入插入模式看到灰色虚拟文本建议即为生效。

常见问题

Q:提示版本不满足怎么办?

A:本项目要求 NeoVim 0.11.0 以上、NodeJS v22 以上,请先升级对应运行时再安装插件。

Q:为什么要懒加载?

A:README 说明 Copilot 服务启动需要一定时间,推荐用 cmd = "Copilot"、event = "InsertEnter" 懒加载以避免影响启动速度。

Q:怎么启用 NES 功能?

A:需要额外安装 copilotlsp-nvim/copilot-lsp 作为依赖,并把配置中的 nes.enabled 设为 true。

Q:默认按什么键采纳建议?

A:默认配置下 accept 为 ,next/prev 为 / ,dismiss 为 ,可在 suggestion.keymap 中改写。

注意事项

  • 必须调用 require("copilot").setup(options) 才会启动 Copilot,未调用则不生效。
  • 认证方式见 README 的 Authentication 一节;使用替代 GitHub 实例时通过 auth_provider_url 指定。
  • 不传任何参数时使用 README 中列出的默认配置。
  • copilot-lsp 为可选依赖,仅在需要 NES 功能时安装。

核心亮点

  • 纯 Lua 实现,配置项丰富,可精细控制触发、显示与接受行为
  • 支持 nvim-cmp 集成,补全建议能进入统一菜单而非独立浮层
  • 提供 API 与虚拟文本渲染,便于其他插件扩展和自定义交互

不足之处

  • 依赖 GitHub Copilot 订阅与网络,离线或未授权时无法使用
  • 与 Neovim 版本及 nvim-cmp 等插件存在兼容性要求,配置门槛偏高

适用场景

  • Neovim 用户写代码时实时获得整行或函数级补全建议
  • 把 Copilot 建议接入 nvim-cmp 菜单,与 LSP 补全统一展示
  • 插件开发者调用其 API 构建自定义 AI 补全交互

替代项目

copilot.vim、codeium.nvim

项目介绍

copilot.lua 是一个编程开发领域的开源项目,官方简介:Fully featured & enhanced replacement for copilot.vim complete with API for interacting with Github Copilot。项目使用 Lua 开发,在 GitHub 上获得 4101 星标。

同类项目推荐

bolt.new 开源

想到啥说啥,网页应用当场生成直接能用

Prompt, run, edit, and deploy full-stack web applications. -- bolt.new -- Help Cente···

★ 16553 2026-08-09
fuzz4all 开源

用大模型自动生成测试输入,发现各种软件漏洞

️Fuzz4All: Universal Fuzzing with Large Language Models

★ 338 2026-08-09
superpowers-zh 开源

全套 AI 编程神技汉化好了,照着用就行。

AI 编程超能力 · 中文增强版 — superpowers(250k+ ⭐)完整汉化 + 4 个中国原创 skills···

★ 8109 2026-08-09
Gitea 代码托管 开源

轻量 Git 代码托管平台

Git with a cup of tea! Painless self-hosted all-in-one software development service,···

★ 58021 2026-08-22