Repolode
zbirenbaum

zbirenbaum/copilot.lua

纯 Lua 编写的 Neovim 插件,替代 copilot.vim,提供 GitHub Copilot 行内补全、建议面板和集成 API。

可替代:GitHub Copilot

Star
4,094
Fork
164
未关闭 Issue
17
最近提交
3天前

这是什么?

copilot.lua 是用纯 Lua 编写的 Neovim 插件,用于替代 GitHub 官方的 copilot.vim。它将 Neovim 与 GitHub Copilot 语言服务器连接,在输入时以行内灰色文本显示补全建议,并提供分屏面板以同时预览多个候选结果。

插件支持自定义快捷键来接受、切换和关闭建议,并可配置自动触发、防抖延迟、按文件类型或缓冲区过滤以及日志等选项。原生语言服务器会在首次使用时下载并缓存;在没有原生构建的平台上可以改用基于 Node.js 的服务器。可选的下一处编辑建议(NES)功能依赖配套插件 copilot-lsp。

`copilot.api` 模块允许其他插件基于它进行扩展,目前已有 nvim-cmp、blink.cmp 和 lualine 的集成。

核心功能

  • 01行内灰色文本补全,可自动触发或手动触发。
  • 02分屏面板,可同时预览多条候选补全。
  • 03可自定义接受、切换和关闭建议的快捷键。
  • 04按文件类型和缓冲区控制 Copilot 的启用范围。
  • 05提供 `copilot.api` 模块,便于开发集成。
  • 06可通过 copilot-lsp 插件使用下一处编辑建议。

适用场景

  • 在 Neovim 中使用 GitHub Copilot 补全,同时降低资源占用。
  • 与 nvim-cmp 或 blink.cmp 补全菜单配合使用。
  • 限制 Copilot 只在特定文件类型中生效,或排除敏感文件。
  • 基于其 API 开发读取 Copilot 建议的自定义 Neovim 插件。

快速上手

  1. 1

    使用插件管理器安装插件

  2. 2

    在配置中调用 require("copilot").setup({}) 以启动 Copilot

  3. 3

    在 Neovim 中登录 Copilot

    :Copilot auth

使用前须知

  • 需要 Neovim 0.11.0 或更高版本。
  • 首次使用时会下载约 75-110 MB 的原生服务器二进制文件,musl Linux 需要 Node.js 22+。
  • 下一编辑建议(nes)功能仍处于实验阶段。

标签

常见问题

copilot.lua 是什么?
纯 Lua 编写的 Neovim 插件,替代 copilot.vim,提供 GitHub Copilot 行内补全、建议面板和集成 API。 copilot.lua 是用纯 Lua 编写的 Neovim 插件,用于替代 GitHub 官方的 copilot.vim。它将 Neovim 与 GitHub Copilot 语言服务器连接,在输入时以行内灰色文本显示补全建议,并提供分屏面板以同时预览多个候选结果。
copilot.lua 可以免费使用吗?用的什么许可证?
copilot.lua 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
copilot.lua 还在维护吗?
活跃维护中。copilot.lua 最近一次提交是在 2026年11月4日。
copilot.lua 适合用来做什么?
在 Neovim 中使用 GitHub Copilot 补全,同时降低资源占用。 与 nvim-cmp 或 blink.cmp 补全菜单配合使用。 限制 Copilot 只在特定文件类型中生效,或排除敏感文件。 基于其 API 开发读取 Copilot 建议的自定义 Neovim 插件。
copilot.lua 怎么安装和运行?
使用插件管理器安装插件 在配置中调用 require("copilot").setup({}) 以启动 Copilot 在 Neovim 中登录 Copilot: :Copilot auth
在哪里获取 copilot.lua?
源代码和安装说明在 GitHub 上:https://github.com/zbirenbaum/copilot.lua

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目