第一次看見這個名字,也是醉了,真是直白啊,赤裸裸的寫出了由於拼寫錯誤而執行失敗的命令的心聲。閒來試用了一下,感覺還是很不錯的。
所需環境
python (3.4+)
pip
python-dev
安裝
支持多平臺多種安裝方式, 可以自由選擇
-
OS/Linuxbrew 可以依賴 Homebrew/Linuxbrew
brew install thefuck -
Ubuntu / Mint
sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
sudo pip3 install thefuck -
FreeBSD
pkg install thefuck -
ChromeOS
crew install thefuck -
其他系統,就要靠我熱愛的python環境了,pip
pip install thefuck
環境配置
安裝完之後,需要下一步配置,如果直接執行fuck命令,會有以下提示,跟着提示做就好了。
需要將以下命令,放入 .bash_profile, .bashrc, .zshrc 或者你指定的啓動腳本中。
eval $(thefuck --alias)
# 如果你想起一個別名的話,也可以,比如
eval $(thefuck --alias love) 此時 fuck和love 都可以執行
使用
通過上面的例子,估計你也看明白了,簡單的步驟如下
1、(啊~~)控制檯命令輸錯了
2、(莫慌)輸入 fuck
3、如果提示的命令是你想要的正確命令,則按 enter確定,還可以通過 上下箭頭來選擇你想要的命令,或通過 Ctrl+C 放棄所有選擇
4、happy ending
ps:如果你想到信任func, 那就加參數呀
fuck -y 或者 fuck --yeah 或者 fuck --yes 代表直接相信他的正確判斷
鑑於有多種選擇,那可以加 -r ,可以遞歸修復命令,直至選中一條可以成功執行的命令
糾錯規則
大部分的 git 、brew、yum、apt 、pip 還有一些常用的 linux 命令都支持
具體的請參考官方:https://github.com/nvbn/thefuck
高級用法之 創建自己的規則
在~/.config/thefuck/rules 下創建規則文件 your-rule-name.py
比如:
我自定義了一個 hello 的命令,輸錯了怎麼辦呢
我在~/.config/thefuck/rules下創建了一個hello.py文件,文件內容如下:
def match(command):
return 'command not found: hell' in command.output.lower()
def get_new_command(command):
return 'hello'
解答:
該文件必須包括兩個function
match(command: Command) -> bool 用來判斷錯誤的命令是否命中該文件
get_new_command(command: Command) -> str | list[str] 用來修正命令,並返回正確的命令或命令列表