很长一段时间,AI 一直是一个非常热门的话题。衍生出来的工具也非常的多,从我接触的顺序来看, 从最早的 tabline 补全到后来的 GitHub Copilot 补全。再到后来的 ChatGPT 以及之后来的各自类似的 Chat 工具。
前面我使用最多的还是网页版的 ChatGPT,使用过程中最大的一个问题就是请求结果渲染展示一直是有问题的。 尤其是让他展示 markdown 源码时。比如:

上述图片 Usage 实际上也在代码块里面是,但是由于 markdown 内还有代码块,导致解析展示出问题。
正是由于这个原因,我制作了 Neovim AI 聊天插件 chat.nvim,
我需要以纯文本展示请求结果的完整内容。
安装及配置 chat.nvim
使用任意插件管理器,比如 nvim-plug:
local deepseek_api_key = 'xxxxxxxxxxx'
local free_chatgpt_api_key = 'xxxxxxxxxxxxxxx'
require('plug').add({
{
'wsdjeg/chat.nvim',
opt = {
api_key = {
deepseek = deepseek_api_key,
free_chatgpt = free_chatgpt_api_key,
},
provider = 'free_chatgpt',
model = 'gpt-4o-mini',
border = 'double',
},
},
})
使用操作界面
chat.nvim 默认是上下分屏两个浮窗,分别为输入窗口和结果展示窗口。如图:

picker.nvim 集成
chat.nvim 自带了一些 picker.nvim 插件的拓展,目前支持的拓展有:
:Picker chat- 搜索历史对话
:Picker chat_provider- 搜索并切换 provider
:Picker chat_model- 搜索并切换当前 provider 提供的模型