Neovim集成Ai功能

随着时代的进步和世界的发展,我决定从今天开始在 Neovim 上集成 AI,以增强编辑功能。其中一个为 Neovim 增加 AI 能力的工具是 Gen.nvim,但在安装插件之前,请确保已配置好 ollama 并拉取所需的模型。

安装配置 Gen.nvim

~/.config/nvim/lua/lazy-init.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"David-Kunz/gen.nvim",
opts = {
-- model = "qwen2.5-coder:latest", -- 或您已下载的任意模型
model = "qwen2.5:14b", -- 或您已下载的任意模型
quit_map = "q", -- 关闭响应窗口的快捷键
retry_map = "<c-r>", -- 重试的快捷键
accept_map = "<c-cr>", -- 接受并替换文本的快捷键
host = "localhost",
port = "11434",
display_mode = "float", -- 以浮动窗口展示结果
-- hidden = true, -- 启用无窗口模式,直接替换
},
},

这样,在启动Neovim时,lazy.nvim会自动安装gen.nvim插件。

Gen.nvim 的使用

Gen.nvim 插件提供的核心 AI 功能涵盖了从代码到文本的各种协作场景。插件将这些功能封装为一系列“预设指令 (Prompts)”,用户可以直接在 Neovim 中通过 :Gen 命令调用,无需频繁复制粘贴、切换窗口或手动编写提示词。

功能类别 选项 主要功能与使用场景
理解与获取 Ask 直接向 AI 提问任何问题(如查询概念、解释原理)
Chat 开启一个多轮对话窗口,适合需要上下文连续交流的场景
Summarize 快速总结当前选中的文本或代码,抓住核心内容
Review Code 让 AI 审阅代码,分析可读性、性能和安全问题,并提出改进建议
代码与文本优化 Change Code 根据你的指令直接修改选中的代码,类似于“把这段代码改成……”
Enhance Code 在不改变核心逻辑的前提下,优化选中代码的结构、性能和可读性
Change 选中文本后,让 AI 根据你的自然语言指令进行修改(如“把语气改得更正式”)
Enhance Wording 优化措辞、改善表达,使书面表达更清晰、流畅、专业。
Enhance Grammar Spelling 专门检查并修正文本中的语法和拼写错误
Make Concise 简化冗余的长文本,提炼关键信息,且不改变原意。
生成与整理 Generate 根据你的要求生成全新的内容,不仅限于代码,也可以是邮件、报告大纲等
Make List 将散乱的文本或笔记自动整理成结构化列表
Make Table 将相关数据或信息分析整理后,呈现为表格形式