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

news2024/12/23 8:22:45

目录

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

简介

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.coloradmin.cn/o/1361433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习(三) -- 特征工程(2)

系列文章目录 机器学习(一) -- 概述 机器学习(二) -- 数据预处理(1-3) 机器学习(三) -- 特征工程(1-2) 未完待续…… 目录 系列文章目录 前言 三、特征…

基于PCA-WA(Principal Component Analysis-weight average)的图像融合方法 Matlab代码及示例

摘要: 高效地将多通道的图像数据压缩(如高光谱、多光谱成像数据)至较低的通道数,对提高深度学习(DL)模型的训练速度和预测至关重要。本文主要展示利用PCA降维结合weight-average的图像融合方法。文章主要参…

Vagrant安装虚拟机

Vagrant安装虚拟机 优点:操作简单方便 vagrant仓库提供已配置完成镜像系统,只需简单命令可迅速初始化运行虚拟机 一、安装virtualBox 官方网站:Oracle VM VirtualBox 如果虚拟机安装失败,可能计算机未开启CPU虚拟化 二、安装V…

md文件图片上传方案:Github+PicGo 搭建图床

文章目录 1. PicGo 下载2. 配置Github3. 配置PicGo4. PicGo集成Typora4.1 picGo监听端口设置 5. 测试 1. PicGo 下载 下载地址:https://molunerfinn.com/PicGo/ 尽量下载稳定版本 2. 配置Github 1. 创建一个新仓库,用于存放图片 2. 生成一个token&a…

不要告诉别人的passwd

文章目录 不要告诉别人的passwd修改或更新密码删除用户密码查看密码的状态更多信息 不要告诉别人的passwd passwd用于创建或者更新用户密码,是管理员必备的命令之一。 这个命令最终的实现是通过调用Linux-PAM 和Libuser API来实现的。 官方的定义为: …

简单工厂模式、工厂方法、抽象工厂模式

下面例子中鼠标,键盘,耳麦为产品,惠普,戴尔为工厂。 简单工厂模式 简单工厂模式不是 23 种里的一种,简而言之,就是有一个专门生产某个产品的类。 比如下图中的鼠标工厂,专业生产鼠标&#xf…

基于象群算法优化的Elman神经网络数据预测 - 附代码

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

矩阵的乘法

首先矩阵的乘法定义如下&#xff1a; #include <stdio.h> int main() { int i 0; int j 0; int arr[20][20] { 0 }; int str[20][20] { 0 }; int s[20][20] { 0 }; int n1 0; int n2 0; int m2 0; int z 0; int m1 0;…

Oracle database 12cRAC异地恢复至单机

环境 rac 环境 byoradbrac Oracle12.1.0.2 系统版本&#xff1a;Red Hat Enterprise Linux Server release 6.5 软件版本&#xff1a;Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit byoradb1&#xff1a;172.17.38.44 byoradb2&#xff1a;172.17.38.4…

2023中国PostgreSQL数据库生态大会-核心PPT资料下载

一、峰会简介 大会以“极速进化融合新生”为主题&#xff0c;探讨了PostgreSQL数据库生态的发展趋势和未来方向。 在大会主论坛上&#xff0c;专家们就PostgreSQL数据库的技术创新、应用实践和生态发展进行了深入交流。同时&#xff0c;大会还设置了技术创新&云原生论坛、…

docker部署kibana

1&#xff0c;简介 官网 kibana 2&#xff0c;安装docker 参考 linux安装docker 3&#xff0c;准备 Kibana 配置文件 # 进入主节点配置文件目录 cd /export/server/docker/kibana/config # 编辑单机版配置文件 vi kibana.ymlkibana.yml内容 # 主机地址&#xff0c;可以是…

2024/1/7周报

文章目录 摘要Abstract文献阅读题目引言贡献相关工作Temporal RecommendationSequential Recommendation 方法Problem FormulationInput EmbeddingSelf-Attention StructureModel Training 实验数据集实验过程实验结果 深度学习Self-attention多头机制堆叠多层 总结 摘要 本周…

从0开始python学习-42.requsts统一请求封装

统一请求封装的目的&#xff1a; 1.去除重复的冗余的代码 2. 跨py文件实现通过一个sess来自动关联有cookie关联的接口。 3. 设置统一的公共参数&#xff0c;统一的文件处理&#xff0c;统一的异常处理&#xff0c;统一的日志监控&#xff0c;统一的用例校验等 封装前原本代…

案例093:基于微信小程序的南宁周边乡村游设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

Redis——centos7环境安装Redis6.2.14版本,make命令编译时报错:jemalloc/jemalloc.h:没有那个文件或目录

一、报错原因 在redis-6.2.14文件夹下有一个README.md文件&#xff0c;有如下一段话&#xff1a; 在构建 Redis 时&#xff0c;通过设置 MALLOC 环境变量来选择非默认的内存分配器。Redis 默认编译并链接到 libc malloc&#xff0c;但在 Linux 系统上&#xff0c;jemalloc 是…

如何实现安卓端与苹果端互通的多种方案

随着移动设备用户的爆炸性增长&#xff0c;跨平台应用开发变得尤为重要。在Android与iOS之间实现互通对于推广应用、增加用户覆盖面和提升用户体验有至关重要的作用。以下是实现Android与iOS互通的多种方案&#xff0c;以及每种方案的实现方法、细节注意点、适合团队的规模和建…

AWS EKS1.26+kubesphere3.4.1

1、前提准备 1台EC2服务器Amazon Linux2&#xff0c;设置admin的角色 安装 aws cli V2 ​ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"unzip awscliv2.zipsudo ./aws/installexport PATH/usr/local/bin:$PATHsou…

OpenHarmony鸿蒙源码下载编译和开发环境搭建

目录 一、开发环境搭建和源码下载二、编译三、总结 一、开发环境搭建 最好是在如Ubuntu18.04以上的系统中搭建&#xff0c;不然有些软件依赖需要解决&#xff0c;加大搭建时间 如gitee中开源OpenHarmony中的文档所示&#xff0c;搭建开发环境&#xff0c;搭建文档网站如下&a…

【算法设计与分析】分治-时间复杂度计算

目录 主定理 Master Theorem分治算法运行时间的递归表示主定理的简化形式 主定理的一般形式 递归树 Recursion Tree递归树的简单结论 主定理 Master Theorem 分治算法运行时间的递归表示 将原问题分解成 a 个子问题递归求解&#xff0c;每个子问题的规模是原问题的 1/b。同时子…

Unity游戏内相机(主角头部视角)的旋转问题:“万向节锁定”(Gimbal Lock)

前言&#xff1a; 在Unity中&#xff0c;相机的正前方是Z正半轴&#xff0c;相机的正右方是X正半轴&#xff0c;相机的正上方是Y正半轴。这个很好理解。 现在&#xff0c;我想要相机看向左前上方45&#xff0c;你会觉得要怎么做呢&#xff1f; 如果是我的话&#xff0c;我的第一…