惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
博客园_首页
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
小众软件
小众软件
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
罗磊的独立博客
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
IT之家
IT之家
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recent Announcements
Recent Announcements
M
MIT News - Artificial intelligence
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
告别手残! Typo —— 按 Esc 两次自动修正命令行输错
karashoukpan · 2026-03-23 · via V2EX

每个开发者都有过这样的经历:手指飞快地敲下一串命令,回车执行,然后屏幕上赫然显示:

$ gut stattus
zsh: command not found: gut

明明想打 git status,结果手一抖,全错了。重新输入?浪费时间。复制粘贴?更麻烦。

Typo 就是为解决这个问题而生的命令行自动纠错工具。按两次 Esc,命令自动修正。


TheFuck ?

实际使用中,theFuck 存在一些问题:

  1. 依赖 Python 版本,会出现安装报错问题;
  2. git commit -s -m "sss" 修正时,会吞掉引号; https://github.com/nvbn/thefuck/issues/1543
  3. 仓库不更新了。

为此,有了 Go 编写的 Typo 。

快速上手

安装

方式一:Go 安装(推荐)

go install github.com/yuluo-yx/typo/cmd/typo@latest

方式二:下载二进制

GitHub Releases 下载对应平台的二进制文件:

平台 文件
macOS ARM64 typo-darwin-arm64
macOS AMD64 typo-darwin-amd64
Linux AMD64 typo-linux-amd64
Linux ARM64 typo-linux-arm64
Windows typo-windows-amd64.exe
# 以 macOS ARM64 为例
curl -LO https://github.com/yuluo-yx/typo/releases/latest/download/typo-darwin-arm64
chmod +x typo-darwin-arm64
sudo mv typo-darwin-arm64 /usr/local/bin/typo

方式三:源码编译

git clone https://github.com/yuluo-yx/typo.git
cd typo
make install

配置 Shell 集成

~/.zshrc 中添加一行:

eval "$(typo init zsh)"

重启终端,完成!

使用

  1. 输错命令时,按 Esc Esc,命令自动修正
  2. 命令执行失败后,按 Esc Esc,修正上一条命令
$ gut stattus<Esc><Esc>   # 自动变成 → git status
$ dcoker ps<Esc><Esc>      # 自动变成 → docker ps

核心功能

1. 多层级智能纠错

Typo 按优先级依次尝试四种纠错策略:

优先级 策略 说明
1 错误解析 提取工具自身的 "did you mean" 建议
2 历史记录 使用你之前学过的纠正
3 规则匹配 内置 50+ 规则 + 自定义规则
4 编辑距离 基于键盘布局的模糊匹配

2. 键盘布局感知

不同于简单的字符串匹配,Typo 知道你的键盘布局。

gut 时,ui 在键盘上相邻,所以 gutgit 的可能性很高。而 gotgit 就没那么确定,因为 oi 距离较远。

这种基于 QWERTY 键盘布局的算法让纠错更精准。

3. 子命令智能修正

不仅修正主命令,还能修正子命令:

$ git stattus   → git status
$ docker biuld  → docker build
$ npm isntall   → npm install

支持的工具:git 、docker 、npm 、yarn 、kubectl 、cargo 、go 、pip 、brew 、terraform 、helm

4. 错误输出解析

当你执行一个命令失败后,工具本身可能会提示正确命令。Typo 能捕捉这些提示:

$ git pshh
git: 'pshh' is not a git command. See 'git --help'.
Did you mean this?
        push

Esc Esc,Typo 会直接用 git push 替换。

5. 自定义规则

你可以教 Typo 学习新的纠正规则:

# 学习一条规则
typo learn "gut" "git"

# 查看所有规则
typo rules list

# 添加自定义规则
typo rules add "dcoker" "docker"

便捷命令

命令 功能
typo fix "gut stauts" 直接修正命令
typo learn "gut" "git" 学习纠正规则
typo rules list 列出所有规则
typo history list 查看修正历史
typo doctor 诊断配置问题
typo uninstall 完全卸载

为什么选择 Typo ?

特性 Typo 其他纠错工具
按键触发 Esc Esc 需要特定命令
键盘布局感知 支持 大多不支持
子命令修正 支持 部分支持
错误输出解析 支持 少见
自定义规则 支持 部分支持
安装复杂度 一行命令 可能需要额外配置

配置文件

Typo 的数据存储在 ~/.typo/ 目录:

~/.typo/
├── history.json       # 修正历史(自动记录)
├── rules.json         # 自定义规则
└── subcommands.json   # 子命令缓存

遇到问题?

运行 typo doctor 诊断配置状态:

$ typo doctor
Checking typo configuration...

[1/4] typo command: ✓ available (/usr/local/bin/typo)
[2/4] config directory: ✓ /Users/you/.typo
[3/4] shell integration: ✓ loaded
[4/4] Go bin PATH: ✓ configured

All checks passed!

立即尝试

go install github.com/yuluo-yx/typo/cmd/typo@latest
echo 'eval "$(typo init zsh)"' >> ~/.zshrc

GitHub: https://github.com/yuluo-yx/typo

如果觉得有用,欢迎 Star 支持!