x-cmd pkg | thefuck - 终端命令纠错工具

目录

    • 简介
    • 首次用户
    • 功能特点
    • 规则和即时模式
    • 竞品和相关作品
    • 进一步阅读

简介

thefuck 是一个终端命令纠错工具,可以帮助您更正先前键入的错误命令。它能纠正绝大部分常见的命令错误,如命令拼写不对、输错命令等。

基本原理:获取您最近执行的一条命令并在后台重新执行命令,然后根据内置规则分析命令和命令的执行日志,最后识别其中出现的错误并生成一个纠正命令。

首次用户

  1. 使用 x env use thefuck 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 thefuck 命令常用功能的 demo 示例,可以帮你快速上手 thefuck 。

  3. 使用案例

    thefuck-1min-cn

    # 安装 thefuck
    $ x env use thefuck# 配置 thefuck,直接运行下述命令只会在当前环境起效
    # 可将下述命令放置在您的 .bash_profile、 .bashrc 或 .zshrc 其他启动脚本中,以便在全局环境使用
    $ eval $(thefuck --alias)# 当您跑的命令运行出错时,fuck 它,这将输出一个列表,其中包含最近执行的命令以及建议的更正。您可以使用方向键上下移动列表,并使用回车键选择要更正的命令
    $ lsl
    zsh: command not found: lsl$ fuck
    ls [enter/↑/↓/ctrl+c]
    LICENSE  README.md  src
    

功能特点

  1. 能自动更正错误的命令且使用简单;

  2. 内置规则丰富,能覆盖常见错误;
    默认启用的规则
    仅在特定平台上启用的规则

  3. 支持自定义规则来扩展功能;

规则和即时模式

  1. 自定义规则
    规则用于识别错误命令并生成正确命令。要想自己定义新的规则,在 ~/.config/thefuck/rules 目录下创建一个 Python 脚本,然后按规范在其中定义好规则函数即可。例如:

    $ cat ~/.config/thefuck/rules/command_not_found.py
    # match() 和 get_new_command 是必须要有的
    def match(command):return ('command not found' in command.output.lower()or 'command not found' in command.output)
    def get_new_command(command):return 'echo "(꒪⌓꒪) I do not know {}"'.format(command.script)
    # 以下的可选的
    priority = 1000 # 优先级,数字越小优先级越高
    requires_output = True$ know
    bash: know: command not found$ fuck
    echo "(꒪⌓꒪) I do not know know" [enter/↑/↓/ctrl+c]
    (꒪⌓꒪) I do not know know
    
  2. 即时模式
    thefuck 的默认行为需要时间来重新运行以前的命令。而在即时模式下,thefuck 通过使用脚本记录输出,然后读取日志来节省时间。

    # 设置即时模式
    eval "$(thefuck --alias --enable-experimental-instant-mode)"
    source ~/.bashrc
    

竞品和相关作品

  1. oh-my-zsh-thefuck:Oh-My-Zsh插件,可以自动更正拼写错误的命令。

进一步阅读

  • 项目托管在 GitHub 上,里面的 README 文档提供了详细的参数功能和使用说明

X-CMD 官网

  • x-cmd-pkg

  • x-cmd-1min

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/326287.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

适用于生物行业的生信云平台

随着基因检测技术的不断发展,生物信息云平台在基因检测行业的应用越来越广泛。生物信息云平台是一种基于云计算的技术,可以将基因检测数据存储在云端,并通过数据分析、挖掘等技术手段,对基因数据进行处理、分析和解读。 这种技术的…

c++ spdlog日志系统

非常好用的日志系统 最近用oatpp写webapi,但他的日志只是显示在控制台,并不记录到文件。 做接口的,肯定要记录错误日志,好查找问题 于是用spdlog,不用编译dll或lib, include 头文件就直接使用了&#x…

springboot第47集:【思维导图】面向对象,关键字,标识符,变量,数组的使用...

关键字:class,public,static,void等,特点是全部关键字都是小写字母。 image.png image.png 凡是自己起的名字可以叫标识符 image.png image.png image.png image.png 整数类型的使用 image.png image.png image.png 浮点类型 image.png image.png 字符类…

算法日志的存在核心在于搭建自检系统

"相信每一个人执行与日志有关的任务都会遇到这样难题吧?长达几万行的日志,如果我们单纯用肉眼去一个个排查,那么恐怕所耗费的时间是以天为计量单位了。当然这是一种比较夸张的情况,根据我的项目经验,正常情况是十…

【Filament】加载obj和fbx模型

1 前言 3D 模型的常用格式主要有 obj、fbx、gltf 等,Filament 中的 filamesh.exe 工具可以将 obj、fbx 格式转换为 filamesh 格式,然后再加载显示。对于 gltf 格式模型,可以通过 ModelViewer 加载显示,这不在本文的讨论范围内。 1…

原生微信小程序如何动态修改svg图片颜色及尺寸、宽高(封装svgIcon组件)解决ios不显示问题

最终效果 前言 动态设置Svg图片颜色就是修改Svg源码的path中的fill属性, 通过wx.getFileSystemManager().readFile读取.xlsx文件 ios不显示需要把encoding设置 binary 把文件转成base64 封装svg-icon组件 1、在项目的components下新建svg-icon文件夹,新…

基于生物地理学算法优化的Elman神经网络数据预测 - 附代码

基于生物地理学算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于生物地理学算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于生物地理学优化的Elman网络5.测试结果6.参考文献7.Matlab代码…

刷题训练之双指针问题

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握双指针,并且能把下面的题目做…

月报总结|Moonbeam 12月份大事一览

一转眼已经到年底啦。本月,Moonbeam基金会发布四个最新战略重点:跨链解决方案、游戏、真实世界资产(RWA)、新兴市场。其中在新兴市场方面,紧锣密鼓地推出与巴西公司Grupo RO的战略合作。 用户教育方面,为了…

【GitHub】-design-pattern-extend(设计模式扩展)

写在前面 偶然间看到一篇文章 《Java 中保持扩展性的几种套路和实现》,写的不错,但是类图画的差了点儿意思。于是,自己动手画了画,对其中的内容作了一些调整,对包做了进一步划分,便于理解消化。以下是对Git…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -小程序首页实现

锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

Socks5代理ip和Https代理ip的区别,该如何选择?

Socks5代理和HTTPS代理都是计算机网络中的代理服务器,它们可以用于在客户端和其他服务器之间建立连接并充当中间人。 两种代理类型都有其优缺点和适用场景。 一、什么是Socks5代理 Socks5代理Socks5代理是一个网络协议,通过该协议可以建立TCP和UDP连接…