目录
- 简介
- 首次用户
- 功能特点
- 规则和即时模式
- 竞品和相关作品
- 进一步阅读
简介
thefuck
是一个终端命令纠错工具,可以帮助您更正先前键入的错误命令。它能纠正绝大部分常见的命令错误,如命令拼写不对、输错命令等。
基本原理:获取您最近执行的一条命令并在后台重新执行命令,然后根据内置规则分析命令和命令的执行日志,最后识别其中出现的错误并生成一个纠正命令。
首次用户
-
使用
x env use thefuck
即可自动下载并使用- 在终端运行
eval "$(curl https://get.x-cmd.com)"
即可完成 x 命令安装, 详情参考 x-cmd 官网
- 在终端运行
-
x-cmd 提供1分钟教程,其中包含了 thefuck 命令常用功能的 demo 示例,可以帮你快速上手 thefuck 。
-
使用案例:
# 安装 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
功能特点
-
能自动更正错误的命令且使用简单;
-
内置规则丰富,能覆盖常见错误;
默认启用的规则
仅在特定平台上启用的规则 -
支持自定义规则来扩展功能;
规则和即时模式
-
自定义规则
规则用于识别错误命令并生成正确命令。要想自己定义新的规则,在~/.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
-
即时模式
thefuck 的默认行为需要时间来重新运行以前的命令。而在即时模式下,thefuck 通过使用脚本记录输出,然后读取日志来节省时间。# 设置即时模式 eval "$(thefuck --alias --enable-experimental-instant-mode)" source ~/.bashrc
竞品和相关作品
- oh-my-zsh-thefuck:Oh-My-Zsh插件,可以自动更正拼写错误的命令。
进一步阅读
- 项目托管在 GitHub 上,里面的 README 文档提供了详细的参数功能和使用说明
X-CMD 官网
x-cmd-pkg
x-cmd-1min