工具与资源github.com
McFly:在 Shell 历史记录中自由穿梭
Fly through your shell history
2018 — 2024,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
McFly 是一个用 Rust 编写的 shell 历史搜索工具,它用一个小型神经网络模型给历史命令排序,排序时会参考当前目录、上一条命令的退出状态以及你以往的选择,从而替代 Bash/Zsh 默认的 Ctrl+R 反向搜索。它会在后台持续学习你的使用习惯,用得越久,推荐越贴近你真正想要的那条命令。
为什么经久不衰:「找回上一条命令」是每天要重复几十次的小事,McFly 把它从纯字符串匹配升级成会学习的排序,痛点长期存在、方案又足够扎实,所以隔几年就被重新翻出来讨论。
HN 评论精选
不少用户其实不知道 shell 自带的历史搜索,工具本身也顺带做了科普。
今天才知道可以用 Ctrl+R 搜索 bash 历史!以后能省下不少时间!
Wowfunhappy查看英文原文
TIL I can use ctrl+R to search bash history! This is going to save me a lot of time going forward!
用神经网络做历史排序的想法很早就有,只是当年条件不成熟。
我大约在 1991 年就做过几乎一样的东西,那时我特别迷神经网络——显然那是神经网络的黑暗时代。
infradig查看英文原文
I did virtually the same thing in about 1991. Was really into NNs back then. Apparently that was the dark ages for NNs.
轻量的模糊匹配加几次按键已够用,神经网络排序未必必要。
在 zsh 下,zaw 的历史功能极其好用。我不觉得需要神经网络,通常敲几个键就能精确命中想要的那一行。
rane查看英文原文
For zsh, zaw[1]'s history is insanely useful. I don't really think a neural network is needed. Usually I get to the exact line I wanted with a few keystrokes. [1]: https://github.com/zsh-users/zaw
非 Bash/Zsh 用户(如 fish)希望也能用上,或与 fzf 集成。
让它支持其他 shell 工作量会很大吗?我个人用 fish,很想配合 fzf 试一试。
fenrisbear查看英文原文
Would it be much work to make this work with other shells? Personally I use fish, and would love to give this a spin with fzf.
历次讨论
同类还值得读
直接在浏览器中启动 Linux 内核
Boot a linux kernel right inside your browser.
Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。
工具与资源上首页 5 次 · 2011–2025bellard.orgHacker News 未公开功能与行为清单(2018)
A List of Hacker News's Undocumented Features and Behaviors (2018)
数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。
工具与资源上首页 5 次 · 2019–2025github.comMapSCII:在终端中用盲文和 ASCII 渲染地图
MapSCII – Braille and ASCII map renderer for the console
MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。
工具与资源上首页 5 次 · 2017–2025github.com顶尖大学的免费在线课程
Free Online Courses from Top Universities
Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。
工具与资源上首页 5 次 · 2010–2022openculture.com淘气字符串:容易引发用户输入问题的字符串清单
Naughty Strings: A list of strings likely to cause issues as user-input data
一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。
工具与资源上首页 4 次 · 2015–2020github.com