- 记不住长参数组合的日常运维:把
kubectl/aws/ffmpeg这类参数多、用得又不频繁的命令写成 .cheat,用 fzf 选而不是翻 history 或 man,比 alias 灵活、比笔记软件少一次切窗口 - 团队共享命令规范:把 .cheat 放 git 仓库里,
navi repo add拉下来,新人不用问人就知道部署、日志排查的标准命令长什么样,比 wiki 更不容易过期 - 参数值需要现场枚举的场景:候选值由命令动态生成(分支名、容器名、profile 名),选完直接拼成可执行命令,省掉复制粘贴和手改占位符
- 已经重度用 fzf 的 shell 工作流:作为 widget 挂在 bash/zsh/fish 里,按快捷键唤出,不改变现有习惯
专家点评
上手难度:进阶更新于 2026-11-11把散落在 dotfiles 和笔记里的命令片段变成可模糊检索、带参数补全的交互式速查表
适用场景
踩坑
- 首次运行会引导下载速查表到
~/.local/share/navi/cheats/,离线或受限网络环境下这一步会卡住,需要提前手动放好 .cheat 文件 - 底层必须自备 fzf 或 skim,README 把它当外部前置依赖而非内置,装完 navi 直接跑会失败
- issue 里反复出现的是 shell 集成覆盖不全:bash/zsh/fish 的 widget 是反应数最高的一条,Windows cmd/PowerShell 和 Nushell 也各有长期未闭环的请求,如果你的主力 shell 不在已支持列表里,别指望开箱即用
- 项目已进入维护模式,不再新增功能;tldr 集成在 tealdeer 上有失败报告,依赖这类外部数据源的用法要自己验证
同类对比
同类可看 pet(同样管理 snippet,但更偏存储而非交互式浏览)和 cheat/cheat.sh(纯文本速查,没有参数补全和 fzf 选择层)。如果你要的是 shell history 搜索而不是手写片段,atuin 是另一条路。
项目说明
由 README 自动翻译提炼命令行交互式速查表工具,让你浏览并执行自己或他人维护的命令片段,不用死记 CLI
命令行交互式速查表工具,用模糊搜索快速查找并执行常用 shell 命令片段,省去翻笔记和背参数。
核心能力
- 用 .cheat 文件描述命令片段与参数
- 参数候选值动态生成并列表展示
- 底层依赖 fzf 或 skim 做模糊选择
- 可作为命令、shell 组件或 Tmux 组件使用
- 支持导入 git 仓库及 tldr、cheat.sh 的速查表
容易踩的坑
需预先安装 fzf 或 skim 作为底层选择器;首次运行会引导下载速查表,默认存于 ~/.local/share/navi/cheats/;项目已进入维护模式,不再新增功能
- v2.25.0-beta1Test Release for v2.25.0-beta1pre-release2025-04-09 · 2025-04-09 18:30 UTC
查看更新说明
⚠️ Unstable release ⚠️
This pre-release aims to evaluate the current stability of navi v2.25.0-beta1. Early adopters can try it but this release is not guaranteed to be stable.
What's Changed
- Allow delimiter variable option to be set from config.yaml by @kit494way in https://github.com/denisidoro/navi/pull/941
- Update documentation for #941 changes by @alexis-opolka in https://github.com/denisidoro/navi/pull/942
- Allow cheatsheet items with same descriptions by @gcarrillo in https://github.com/denisidoro/navi/pull/952
- Fix CI lint errors by @kit494way in https://github.com/denisidoro/navi/pull/944
- Improved vim syntax highlighting documentation by @rodineijf in https://github.com/denisidoro/navi/pull/956
- Update PowerShell plugin by @alexis-opolka in https://github.com/denisidoro/navi/pull/947
- Update CODEOWNERS by @alexis-opolka in https://github.com/denisidoro/navi/pull/963
- Fix widget powershell by @kit494way in https://github.com/denisidoro/navi/pull/958
- Add documentation on .cheat.md by @kit494way in https://github.com/denisidoro/navi/pull/961
- Merge required crates code into navi + Update dependencies version by @alexis-opolka in https://github.com/denisidoro/navi/pull/972
- Introduce the new default commands + Add a reference for the configuration + Add some debug information along by @alexis-opolka in https://github.com/denisidoro/navi/pull/955
- Update the Continuous Deployment pipeline with a minimal amount of dependencies by @alexis-opolka in https://github.com/denisidoro/navi/pull/971
New Contributors
- @gcarrillo made their first contribution in https://github.com/denisidoro/navi/pull/952
- @rodineijf made their first contribution in https://github.com/denisidoro/navi/pull/956
Full Changelog: https://github.com/denisidoro/navi/compare/v2.24.0...v2.25.0-beta1
- v2.24.02.24.0最新正式版2025-01-29 · 2025-01-29 23:18 UTC
🐛 Fixes
- Improvements for Windows
- Improvements for the fish plugin
💻 Code quality
- Documentation improvements
Note: builds for Apple devices are broken right now. They'll be available in the next release.
- v2.23.02.23.02023-12-10 · 2023-12-10 09:46 UTC
- v2.22.12.22.12023-04-09 · 2023-04-09 14:22 UTC
查看更新说明
:sparkles: New features
e3920Add --prevent-interpolation flag (#824)4b07dAdd support for code blocks using markdown syntax (#807)
:bug: Fixes
f8192Fix publish script (#825)f6414Prevent variable selection content from being limited to 3 columns (#821)89637Correctly calculate character widths (#820)dee8fFix typos41aa4Fix preview map "leaking" with multiple variables8b78dImprove error handling for cheatsh and tldr (#766)d68c4Support multi-word arguments in FZF overrides (#765)81cd7Fallback to nano if EDITOR isn't set (#764)
:computer: Code quality
2b03cRemove link to Katacoda (#819)b56d7Use dns_common library (#818)8cf9cUpdate dependencies (#817)317d1Add xonsh support instructions to Installation.mdcb999Refresh README63681Add link to TiddlyWiki plugind05fcAdd documentation about Tmux-widget1823eFix install script69075Delete dependabot.yml5c6daPrettify md/yaml files9d862Minor code base improvements (#767)ebb02Refactor code base (#760)80f4aFix typo in installation docs9c903feat: add install docu for windows powershell
:bangbang: Breaking changes
bd2feReplace target: aarch64-apple-ios by aarch64-apple-darwin (#827)
Note: the release before this one is v2.20.1
- v2.20.12.20.12022-05-18 · 2022-05-18 12:09 UTC
查看更新说明
:bug: Fixes
91763Fix version in Cargo.toml (#731)
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
navi 
An interactive cheatsheet tool for the command-line.
[!NOTE] Maintenance mode. navi still gets bug fixes, but no new features are planned. For a more modern alternative, check out ezlo.
navi allows you to browse through cheatsheets (that you may write yourself or download from maintainers) and execute commands. Suggested values for arguments are dynamically displayed in a list.
Pros
- it will spare you from knowing CLIs by heart
- it will spare you from copy-pasting output from intermediate commands
- it will make you type less
- it will teach you new one-liners
It uses fzf or skim under the hood and it can be either used as a command or as a shell widget (à la Ctrl-R).
Table of contents
Installation
The recommended way to install navi is by running:
brew install navi
[!NOTE] For more details on how to install Navi, see docs/installation
navi can be installed with the following package managers:
Usage
There are multiple ways to use navi:
- by typing
naviin the terminal- pros: you have access to all possible subcommands and flags
- as a shell widget for the terminal
- pros: the shell history is correctly populated (i.e. with the actual command you ran instead of
navi) and you can edit the command as you wish before executing it
- pros: the shell history is correctly populated (i.e. with the actual command you ran instead of
- as a Tmux widget
- pros: you can use your cheatsheets in any command-line app even in SSH sessions
- as aliases
- as a shell scripting tool
In particular, check these instructions if you want to replicate what's shown in the demo above.
Cheatsheet repositories
Running navi for the first time will help you download and manage cheatsheets. By default, they are stored at ~/.local/share/navi/cheats/.
You can also:
- browse through featured cheatsheets
- import cheatsheets from git repositories
- write your own cheatsheets (and share them, if you want)
- use cheatsheets from other tools, such as tldr and cheat.sh
- auto-update repositories
- auto-export cheatsheets from your TiddlyWiki notes using a TiddlyWiki plugin
Cheatsheet syntax
Cheatsheets are described in .cheat files that look like this:
% git, code
# Change branch
git checkout <branch>
$ branch: git branch | awk '{print $NF}'
The full syntax and examples can be found here.
Customization
You can:
- setup your own config file
- set custom paths for your config file and cheat sheets
- change colors
- resize columns
- change how search is performed
More info
Please run the following command to read more about all possible options:
navi --help
In addition, please check the /docs folder or the website.