🌟

コマンド紹介シリーズ:thefuck

に公開

今回から、私が普段使ってるコマンドを紹介していくシリーズを始めたいと思います。記念すべき第一回は、thefuckというコマンドを紹介します。名前だけ見るとなかなかにパンチが効いたものですが、スター数も多いコマンドですので、ぜひ興味がある方はみてください。

※ 本記事を書くにあたり、果たしてこの文字を入力して良いのか迷いましたが、①あくまでコマンド紹介であること、②他の記事で4文字が入っている記事も結構ありそうだったので採用しました

thefuckとは?

一言で言ってしまうと、

コマンド入力をミスした時に、本来実行したかったコマンドを想定して出してくれる

コマンドになります。例えば、macbookを使っていてbrew updateしようとしたんだけどうっかりbrewupdateとスペースを省略してしまった時にこのコマンドを打つと、「brwe updateをやりたかったんじゃないですか?」と提案してくれます!

以下ががGitHubレポジトリになります。

https://github.com/nvbn/thefuck

使ってみる

インストール

私はmacbookを使っているので以下のコマンドでインストールしました。

brew install thefuck

pip経由などでもインストールできるとのことなので、ご自身の環境に合わせてみてください。

https://github.com/nvbn/thefuck#installation

コマンドを使ってみる

それではコマンドを使ってみましょう。ちなみに注釈として、thefuckという名前ですが実際に使うときはtheをとった4文字になります。

最初に例を出したように、brew updateと実行しようとしてbrewupdateを実行してしまった時を想定してみます。

まずbrewupdateと入力すると以下のような出力となりました(ちなみに私はzshを使っています)。

> brewupdate
zsh: command not found: brewupdate

そして今回のコマンドを実行してみます。

> fuck

すると、まず第一候補として以下が表示されました。

lupdate [enter/↑/↓/ctrl+c]

lupdateコマンドを実行したかったわけではないので、十字キーの下を押して次のコマンドを見てみると以下のようになりました。

brew update [enter/↑/↓/ctrl+c]

まさに求めていたものが出てきましたので、エンターを押します。すると以下の見慣れた出力が姿を表しました。

==> Updating Homebrew...

他にも試してみようと思います。自分はPython使いなのでこちらのようにPythonをtypoしてみました。

> pthon main.py
zsh: command not found: pthon

もちろんエラーが出るのですが、同様にコマンドを実行すると以下のようにちゃんと求めていた結果を返してくれます。

> fuck
python main.py [enter/↑/↓/ctrl+c]

また、ファイル名を以下のように失敗したとします。

> python min.py
python: can't open file '/Users/.../min.py': [Errno 2] No such file or directory

この場合でも、コマンドを利用すると正しい結果を返してくれます。

> fuck
python main.py [enter/↑/↓/ctrl+c]

まとめ

初めてこのコマンドを知ったときは名前的によろしくないものなのかな?と思いましたが、実際に使ってみるとよくタイポとかをしてしまう自分からするとかなりありがたいコマンドでした。もし間違えた時に打ち直すの手間だからこのコマンド使ってみたいという方はお試しいただければと思います。

Discussion