项目介绍: nvim-magic
nvim-magic 是一个可以将人工智能代码辅助功能集成到 Neovim 编辑器中的插件框架。它的目标是让 AI 代码辅助的使用不那么引人注目,同时也让创建和共享新的 AI 代码辅助工作流变得更加容易。这个插件与 OpenAI 的 Codex API 搭配工作,为用户提供代码补全、文档字符串生成、代码修改建议等功能。
功能特点
代码补全 (<Leader>mcs
)
nvim-magic 可以根据上下文信息自动补全代码,帮助开发者在编写代码时更加高效。用户只需简单地按下快捷键,即可获取 AI 给出的代码补全建议。
文档字符串生成 (<Leader>mds
)
使用 nvim-magic,可以为 Python 函数自动生成符合规范的文档字符串。无需亲自编写,减少了开发者的负担,提高了代码可读性。
代码修改建议 (<Leader>mss
)
此插件还能为用户提供选中代码的修改建议。通过智能分析,AI 可以给出代码优化或变更的提示。
快速入门
前提条件
在开始使用 nvim-magic 之前,需要确保拥有以下条件:
- Neovim 的最新稳定版(夜间构建版本也可能兼容)
- 安装
curl
- 拥有 OpenAI API 的密钥
安装方法
可以利用 packer.nvim
插件管理工具安装 nvim-magic,以下是基本的安装示例:
use({
'jameshiew/nvim-magic',
config = function()
require('nvim-magic').setup()
end,
requires = {
'nvim-lua/plenary.nvim',
'MunifTanjim/nui.nvim'
}
})
如需自定义配置(例如关闭默认快捷键,或使用不同 OpenAI 引擎),请参考文档 docs/config.md
。注意,API 调用可能会产生相应费用,具体取决于所使用的 OpenAI 引擎。
在用户的 Neovim 会话中,需要将 OpenAI API 密钥以环境变量的方式提供:
export OPENAI_API_KEY='your-api-key-here'
默认快捷键
nvim-magic 为视觉模式下选择的文本设置了一些默认快捷键。在配置设置中传递 use_default_keymap = false
可以禁用这些默认快捷键。用户也可以根据需要将自己定义的按键序列映射到预设的 <Plug>
。
<Plug> | 默认快捷键 | 模式 | 动作 |
---|---|---|---|
<Plug>nvim-magic-append-completion | <Leader>mcs | 视觉 | 获取并附加代码补全 |
<Plug>nvim-magic-suggest-alteration | <Leader>mss | 视觉 | 请求对选中文本的修改建议 |
<Plug>nvim-magic-suggest-docstring | <Leader>mds | 视觉 | 生成文档字符串 |
开发指南
nvim-magic 项目提供了一个开发容器,可以在 .devcontainer
目录下找到。这一工具构建并安装了 Neovim 的最新稳定版本,并允许将本地的 nvim-magic 仓库设为插件,方便开发和调试。