コマンドライン自動保管ツール「f*ck」とは?
このコマンドラインツールはタイプミスなどを自動的に保管してくれるツールです。
from https://github.com/nvbn/thefuck
インストール方法
インストール時の注意点
ただし、インストール後のエイリアス登録eval $(thefuck --alias)
はどのOSでも共通で必要です。
f*ck
と入力して自動保管したければ上記のコマンドも合わせて実行して、エイリアスを登録しましょう。
ちなみに、エイリアスを登録しない場合は以下のコマンドを打たなければ保管は発動しません。
eval "$(TF_ALIAS=fuck PYTHONIOENCODING=utf-8 thefuck "$(fc -ln -1)")"
各OSごとのインストール方法
MacOSを利用の場合、brew
コマンドが使用可能です。
brew install thefuck x
Ubuntuからインストールする場合、apt
ではなくpip
からインストールする必要があります。
pythonツールなどを最初にインストールした後、pip3
を使用してインストールしましょう。
sudo apt update sudo apt install python3-dev python3-pip python3-setuptools pip3 install thefuck --user eval $(thefuck --alias)
FreeBSDではpkg
を通常通り使用できます。
pkg install thefuck eval $(thefuck --alias)
Arch Linuxではpacman
から使用できます。
sudo pacman -S thefuck eval $(thefuck --alias)
上記のコマンドに該当しない場合、またはどうしても通常のコマンドが使用できない場合、pip
を使用することをお勧めします。
pip install thefuck eval $(thefuck --alias)
使用方法
例えば、ネットワークの疎通確認を行うためにping
を入力しようとしたとします。
ところが、pingg
とgを一個多く打ってしまいました。
[root@33c1541deb7d techblog]# pingg 8.8.8.8 bash: pingg: command not found
イライラしたあなたはコマンドラインインターフェースに向かって、f*ck
と入力したとします。
そうすると、正しいコマンドを予測して出力してくれます。
[root@33c1541deb7d techblog]# fuck ping 8.8.8.8 [enter/↑/↓/ctrl+c]
この時に、Enter
を押してタイプミスしてしまったコマンドを実行することができました。
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=63 time=140 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=63 time=34.0 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=63 time=25.1 ms ^C --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 25.135/66.294/139.722/52.047 ms