Eric's Blog 时光荏苒,岁月如梭

Neovim 智能对话伙伴 chat.nvim

2026-02-03
Eric Wong

很长一段时间,AI 一直是一个非常热门的话题。衍生出来的工具也非常的多,从我接触的顺序来看, 从最早的 tabline 补全到后来的 GitHub Copilot 补全。再到后来的 ChatGPT 以及之后来的各自类似的 Chat 工具。

前面我使用最多的还是网页版的 ChatGPT,使用过程中最大的一个问题就是请求结果渲染展示一直是有问题的。 尤其是让他展示 markdown 源码时。比如:

markdown display error

上述图片 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 默认是上下分屏两个浮窗,分别为输入窗口和结果展示窗口。如图:

chat.nvim

picker.nvim 集成

chat.nvim 自带了一些 picker.nvim 插件的拓展,目前支持的拓展有:

  1. :Picker chat - 搜索历史对话 picker-chat
  2. :Picker chat_provider - 搜索并切换 provider picker-chat
  3. :Picker chat_model - 搜索并切换当前 provider 提供的模型 picker-chat

版权声明:本文为原创文章,遵循 署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)版权协议,转载请附上原文出处链接和本声明。


延生阅读

分享到:

评论