Все мы постоянно опечатываемся в консоли. atp-get, git brnch, cta и.т.д. Ну может и не все, но я так точно, знаете, до компа, я печатал на печатной машинке, и поэтому, вместо мягкого нажатия, долблю пальцами по клавиатуре со всей силы, с высоты примерно в пол метра. Прикольно то, что все мы опечатываемся одинаково (кстати, в топе урлов в моем браузере наверняка есть «млюсщь» и «чмшвущыюсщь»). Даже странно, что такую нужную утилитку придумали только сейчас. Я говорю про программу с лаконичным названием «The Fuck». Смысл в том, что после установки утилиты, по команде fuck программа сама исправит и выполнит последнюю введенную команду. Немного примеров:
1 2 3 4 5 6 7 8 9 |
➜ apt-get install vim E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? ➜ fuck sudo apt-get install vim [sudo] password for nvbn: Reading package lists... Done ... |
1 2 3 4 5 6 7 8 9 10 11 |
➜ git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin master ➜ fuck git push --set-upstream origin master Counting objects: 9, done. ... |
1 2 3 4 5 6 7 8 9 10 |
➜ puthon No command 'puthon' found, did you mean: Command 'python' from package 'python-minimal' (main) Command 'python' from package 'python3' (main) zsh: command not found: puthon ➜ fuck python Python 3.4.2 (default, Oct 8 2014, 13:08:17) ... |
1 2 3 4 5 6 7 8 9 |
➜ git brnch git: 'brnch' is not a git command. See 'git --help'. Did you mean this? branch ➜ fuck git branch * master |
1 2 3 4 5 6 7 8 9 10 11 |
➜ lein rpl 'rpl' is not a task. See 'lein help'. Did you mean this? repl ➜ fuck lein repl nREPL server started on port 54848 on host 127.0.0.1 - nrepl://127.0.0.1:54848 REPL-y 0.3.1 ... |
Утилита написана на Python, и ее исходники открыты. Легко устанавливается через pip
1 |
sudo pip install thefuck |
Подробнее почитать об установке и использовании, а так же посмотреть исходники можете в репозитории программы на GitHub