Skip to main content

quickfix

quickfix 就是一个“位置列表” + “结果展示窗口”,用来收集各种命令的输出结果(主要是带有文件路径 + 行号 + 列号 + 描述的信息),然后让你在 Neovim 里快速跳转、查看、修改这些位置。

它最经典的用途是:

编译出错 → 快速跳到出错的每一行去修复
但现在远不止编译了,几乎成了 Neovim 里最强大的“多结果导航器”。

quickfix 常见的三大使用场景

场景典型命令结果进入 quickfix 的方式实际用途举例
编译/构建错误:make, :Make (asyncrun 等)自动解析编译器错误输出C/C++/Rust/go 等编译错误快速定位
项目内搜索:vimgrep /pattern/ **/*搜索结果自动进入 quickfix类似 grep 但能直接跳转
模糊搜索 / grep:grep, :Grep (telescope/ripgrep)通过 'grepformat' 解析全项目找字符串、TODO、FIXME 等
LSP 诊断/引用/定义:lua vim.diagnostic.setqflist()LSP 插件把诊断/引用结果塞进去替换 :copen 查看所有报错
其他工具输出ctags, lint, test, cscope 等通过 errorformat 或插件手动 setqflist几乎任何能输出「文件:行:列:信息」的工具

核心命令速查(最常用的几个)

命令作用常用缩写
:copen打开 quickfix 窗口:cope
:cclose关闭 quickfix 窗口:ccl
:cnext跳到下一个错误/结果:cn
:cprev跳到上一个:cp
:cfirst跳到第一个:cfir
:clast跳到最后一个:cla
:cwindow有结果才打开窗口,没结果不打开:cw
:cfile file.err从文件读取 quickfix 内容

在 quickfix 窗口里最常用的快捷键(默认):

  • <Enter> → 跳转到该行对应的文件位置
  • q → 关闭 quickfix 窗口
  • o / O → 打开但不关闭 quickfix 窗口(预览)

trouble.nvim