McFly是一款创新的Shell历史搜索工具,旨在彻底改变用户与命令行历史交互的方式。它使用智能算法和机器学习技术来优化搜索结果,让用户能够更快速、更精准地找到所需的历史命令。
McFly的核心功能是替换默认的ctrl-r
反向历史搜索,提供一个全屏的搜索界面。它不仅考虑命令本身,还会分析命令执行的上下文,如工作目录、最近执行的命令等因素,通过一个小型神经网络实时对搜索结果进行优先级排序。这意味着McFly可以为用户当前的工作场景提供最相关的历史命令建议。
智能搜索: 使用神经网络实时优化搜索结果的优先级。
上下文感知: 考虑工作目录和最近执行的命令来提供更相关的建议。
增强的历史记录: 在SQLite数据库中跟踪命令的退出状态、时间戳和执行目录。
兼容性: 保留原有的Shell历史文件,随时可以停用McFly。
Unicode支持: 全面支持Unicode字符。
历史清理: 提供简单的操作来从McFly数据库和Shell历史文件中删除特定项。
可扩展性: 设计上考虑了未来对其他Shell的扩展支持。
高性能: 使用Rust语言编写,确保快速和安全的执行。
模糊搜索: 支持使用%
通配符匹配任意数量的字符。
McFly提供了多种安装方式,以适应不同用户的需求:
运行以下命令安装McFly:
brew install mcfly
根据你使用的Shell,在相应的配置文件(~/.bashrc, ~/.zshrc, 或 ~/.config/fish/config.fish)末尾添加以下内容:
Bash:
eval "$(mcfly init bash)"
Zsh:
eval "$(mcfly init zsh)"
Fish:
mcfly init fish | source
重新加载配置文件或重启终端。
从GitHub Releases页面下载最新版本。
将McFly可执行文件安装到$PATH中的某个位置。
按照上述方法在Shell配置文件中添加初始化命令。
安装Rust 1.40或更高版本。
克隆McFly仓库并进入目录:
git clone https://github.com/cantino/mcfly && cd mcfly
运行cargo install --path .
确保~/.cargo/bin
在你的$PATH
中。
在Shell配置文件中添加初始化命令。
安装并配置McFly后,它会自动替换默认的ctrl-r
搜索功能。当你按下ctrl-r
,McFly的全屏界面会出现,显示与你当前工作相关的命令建议。
模糊搜索: 使用%
作为通配符来匹配任意字符。
上下文相关搜索: McFly会优先显示与当前工作目录相关的命令。
智能排序: 常用命令和最近使用的命令会获得更高的优先级。
删除历史: 使用McFly提供的功能可以轻松删除不想保留的历史记录。
McFly提供了多个环境变量来自定义其行为:
轻色主题: 设置MCFLY_LIGHT=TRUE
启用适合浅色终端的配色方案。
VIM按键方案: 设置MCFLY_KEY_SCHEME=vim
使用vim风格的按键绑定。
模糊搜索: 设置MCFLY_FUZZY
为非零整数启用模糊搜索,数值越大匹配越宽松。
结果数量: 通过MCFLY_RESULTS
设置最大显示结果数(默认为10)。
界面位置: 设置MCFLY_INTERFACE_VIEW=BOTTOM
将界面移到底部显示。
禁用菜单界面: 设置MCFLY_DISABLE_MENU=TRUE
以禁用菜单界面。
结果排序: 使用MCFLY_RESULTS_SORT=LAST_RUN
按最后运行时间排序结果。
自定义提示符: 通过MCFLY_PROMPT
设置自定义提示符(默认为$
)。
McFly的核心是其智能优先级系统,它考虑多个因素来决定命令的相关性:
这些因素被输入到一个小型神经网络中,实时计算每个命令的优先级分数。这确保了最相关和最有用的命令总是出现在建议列表的顶部。
McFly使用SQLite数据库存储增强的历史记录,这可能会导致大型历史数据库的启动速度变慢。如果遇到这种情况,可以通过设置MCFLY_HISTORY_LIMIT
来限制考虑的记录数量,例如:
export MCFLY_HISTORY_LIMIT=10000
这将限制McFly只搜索最新的10,000条记录。
McFly的开发团队有许多令人兴奋的想法来进一步改进这个工具:
McFly是一个开源项目,欢迎社区贡献。如果你有兴趣参与开发,可以通过以下方式贡献:
在提交大型PR之前,建议先开一个issue讨论你的想法,以确保它符合项目的方向和复杂度要求。
McFly代表了命令行工具的未来发展方向。通过结合人工智能和用户体验设计,它为日常的Shell操作带来了前所未有的效率提升。无论你是经验丰富的命令行用户,还是刚刚开始探索终端的新手,McFly都能为你的工作流程带来显著的改进。
随着持续的开发和社区贡献,我们可以期待McFly在未来变得更加强大和智能。如果你还没有尝试过McFly,现在就是一个很好的机会来体验这个革命性的工具,让你的命令行操作更加高效和愉快。
🚀 立即安装McFly,开启你的智能Shell之旅吧!
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板 、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
用于可扩展和多功能 3D 生成的结构化 3D 潜在表示
TRELLIS 是一个专注于 3D 生成的项目,它利用结构化 3D 潜在表示技术,实现了可扩展且多功能的 3D 生成。项目提供了多种 3D 生成的方法和工具,包括文本到 3D、图像到 3D 等,并且支持多种输出格式,如 3D 高斯、辐射场和网格等。通过 TRELLIS,用户可以根据文本描述或图像输入快速生成高质量的 3D 资产,适用于游戏开 发、动画制作、虚拟现实等多个领域。
10 节课教你开启构建 AI 代理所需的一切知识
AI Agents for Beginners 是一个专为初学者打造的课程项目,提供 10 节课程,涵盖构建 AI 代理的必备知识,支持多种语言,包含规划设计、工具使用、多代理等丰富内容,助您快速入门 AI 代理领域。
AI Excel全自动制表工具
AEE 在线 AI 全自动 Excel 编辑器,提供智能录入、自动公式、数据整理、图表生成等功能,高效处理 Excel 任务,提升办公效率。支持自动高亮数据、批量计算、不规则数据录入,适用于企业、教育、金融等多场景。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号