The Fuck adalah aplikasi luar biasa, terinspirasi oleh tweet @liamosaur, yang memperbaiki kesalahan pada perintah konsol sebelumnya.
Apakah The Fuck terlalu lambat? Coba mode instan eksperimental!
Contoh lainnya:
➜ 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 [enter/↑/↓/ctrl+c]
[sudo] password for nvbn:
Reading package lists... Done
...
➜ 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 [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...
➜ 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 [enter/↑/↓/ctrl+c]
Python 3.4.2 (default, Oct 8 2014, 13:08:17)
...
➜ git brnch
git: ' brnch ' is not a git command. See ' git --help ' .
Did you mean this ?
branch
➜ fuck
git branch [enter/↑/↓/ctrl+c]
* master
➜ lein rpl
' rpl ' is not a task. See ' lein help ' .
Did you mean this ?
repl
➜ fuck
lein repl [enter/↑/↓/ctrl+c]
nREPL server started on port 54848 on host 127.0.0.1 - nrepl://127.0.0.1:54848
REPL-y 0.3.1
...
Jika Anda tidak takut menjalankan perintah yang diperbaiki secara membabi buta, opsi pengaturan require_confirmation
dapat dinonaktifkan:
➜ 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
...
Di macOS atau Linux, Anda dapat menginstal The Fuck melalui Homebrew:
brew install thefuck
Di Ubuntu/Mint, instal The Fuck dengan perintah berikut:
sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
pip3 install thefuck --user
Di FreeBSD, instal The Fuck dengan perintah berikut:
pkg install thefuck
Di ChromeOS, instal The Fuck menggunakan chromebrew dengan perintah berikut:
crew install thefuck
Pada sistem berbasis Arch, instal The Fuck dengan perintah berikut:
sudo pacman -S thefuck
Di sistem lain, instal The Fuck dengan menggunakan pip
:
pip install thefuck
Alternatifnya, Anda dapat menggunakan manajer paket OS (OS X, Ubuntu, Arch).
# Disarankan agar Anda menempatkan perintah ini di .bash_profile
, .bashrc
, .zshrc
atau skrip startup lainnya:
eval $( thefuck --alias )
# You can use whatever you want as an alias, like for Mondays:
eval $( thefuck --alias FUCK )
Atau di konfigurasi shell Anda (Bash, Zsh, Fish, Powershell, tcsh).
Perubahan hanya tersedia di sesi shell baru. Agar perubahan segera tersedia, jalankan source ~/.bashrc
(atau file konfigurasi shell Anda seperti .zshrc
).
Untuk menjalankan perintah tetap tanpa konfirmasi, gunakan opsi --yeah
(atau singkatnya -y
, atau --hard
jika Anda sangat frustrasi):
fuck --yeah
Untuk memperbaiki perintah secara rekursif hingga berhasil, gunakan opsi -r
:
fuck -r
pip3 install thefuck --upgrade
Catatan: Fungsi alias diubah di The Fuck v1.34
Untuk menghapus The Fuck , balikkan proses instalasi:
The Fuck mencoba mencocokkan perintah sebelumnya dengan sebuah aturan. Jika kecocokan ditemukan, perintah baru dibuat menggunakan aturan yang cocok dan dijalankan. Aturan berikut diaktifkan secara default:
adb_unknown_command
– memperbaiki perintah yang salah eja seperti adb logcta
;ag_literal
– menambahkan -Q
ke ag
saat disarankan;aws_cli
– memperbaiki perintah yang salah eja seperti aws dynamdb scan
;az_cli
– memperbaiki perintah yang salah eja seperti az providers
;cargo
– menjalankan cargo build
alih-alih cargo
;cargo_no_command
– memperbaiki perintah yang salah seperti cargo buid
;cat_dir
– menggantikan cat
dengan ls
ketika Anda mencoba cat
suatu direktori;cd_correction
– memeriksa ejaan dan memperbaiki perintah cd yang gagal;cd_cs
– mengubah cs
menjadi cd
;cd_mkdir
– membuat direktori sebelum melakukan cd ke dalamnya;cd_parent
– mengubah cd..
menjadi cd ..
;chmod_x
– menambahkan bit eksekusi;choco_install
– menambahkan sufiks umum untuk paket coklat;composer_not_command
– memperbaiki nama perintah komposer;conda_mistype
– memperbaiki perintah conda;cp_create_destination
– membuat direktori baru saat Anda mencoba cp
atau mv
ke direktori yang tidak adacp_omitting_directory
– menambahkan -a
saat Anda cp
direktori;cpp11
– menambahkan -std=c++11
yang hilang ke g++
atau clang++
;dirty_untar
– memperbaiki perintah tar x
yang tidak ter-untar di direktori saat ini;dirty_unzip
– memperbaiki perintah unzip
yang di-unzip di direktori saat ini;django_south_ghost
– menambahkan --delete-ghost-migrations
ke failed because ghosts django migrasi selatan;django_south_merge
– menambahkan --merge
pada migrasi Django selatan yang tidak konsisten;docker_login
– menjalankan docker login
dan mengulangi perintah sebelumnya;docker_not_command
– memperbaiki perintah buruh pelabuhan yang salah seperti docker tags
;docker_image_being_used_by_container
‐ menghapus container yang menggunakan gambar tersebut sebelum menghapus gambar tersebut;dry
– memperbaiki pengulangan seperti git git push
;fab_command_not_found
– memperbaiki perintah fabric yang salah eja;fix_alt_space
– menggantikan Alt+Spasi dengan karakter Spasi;fix_file
– membuka file dengan kesalahan di $EDITOR
Anda;gem_unknown_command
– memperbaiki perintah gem
yang salah;git_add
– perbaikan "pathspec 'foo' tidak cocok dengan file apa pun yang diketahui git." ;git_add_force
– menambahkan --force
ke git add <pathspec>...
ketika jalurnya .gitignore;git_bisect_usage
– memperbaiki git bisect strt
, git bisect goood
, git bisect rset
, dll. saat membagi dua;git_branch_delete
– mengubah git branch -d
menjadi git branch -D
;git_branch_delete_checked_out
– mengubah git branch -d
menjadi git checkout master && git branch -D
ketika mencoba menghapus cabang yang sudah diperiksa;git_branch_exists
– menawarkan git branch -d foo
, git branch -D foo
atau git checkout foo
saat membuat cabang yang sudah ada;git_branch_list
– menangkap git branch list
sebagai pengganti git branch
dan menghapus cabang yang dibuat;git_branch_0flag
– memperbaiki perintah seperti git branch 0v
dan git branch 0r
menghapus cabang yang dibuat;git_checkout
– memperbaiki nama cabang atau membuat cabang baru;git_clone_git_clone
– menggantikan git clone git clone ...
dengan git clone ...
git_clone_missing
– menambahkan git clone
ke URL yang tampaknya tertaut ke repositori git.git_commit_add
– menawarkan git commit -a ...
atau git commit -p ...
setelah komit sebelumnya jika gagal karena tidak ada yang dipentaskan;git_commit_amend
– menawarkan git commit --amend
setelah komit sebelumnya;git_commit_reset
– menawarkan git reset HEAD~
setelah komit sebelumnya;git_diff_no_index
– menambahkan --no-index
ke git diff
sebelumnya pada file yang tidak terlacak;git_diff_staged
– menambahkan --staged
ke git diff
sebelumnya dengan keluaran yang tidak terduga;git_fix_stash
– memperbaiki perintah git stash
(sub-perintah salah eja dan save
tidak ada);git_flag_after_filename
– memperbaiki fatal: bad flag '...' after filename
git_help_aliased
– memperbaiki perintah git help <alias>
yang diganti dengan perintah alias;git_hook_bypass
– menambahkan tanda --no-verify
sebelumnya ke perintah git am
, git commit
, atau git push
;git_lfs_mistype
– memperbaiki perintah git lfs <command>
yang salah ketik;git_main_master
– memperbaiki nama cabang yang salah antara main
dan master
git_merge
– menambahkan remote ke nama cabang;git_merge_unrelated
– menambahkan --allow-unrelated-histories
bila diperlukangit_not_command
– memperbaiki perintah git yang salah seperti git brnch
;git_pull
– mengatur upstream sebelum menjalankan git pull
sebelumnya;git_pull_clone
– mengkloning alih-alih menarik ketika repo tidak ada;git_pull_uncommitted_changes
– menyembunyikan perubahan sebelum menarik dan memunculkannya setelahnya;git_push
– menambahkan --set-upstream origin $branch
ke git push
yang gagal sebelumnya;git_push_different_branch_names
– memperbaiki push ketika nama cabang lokal tidak cocok dengan nama cabang jarak jauh;git_push_pull
– menjalankan git pull
ketika push
ditolak;git_push_without_commits
– membuat komit awal jika Anda lupa dan hanya git add .
, saat menyiapkan proyek baru;git_rebase_no_changes
– menjalankan git rebase --skip
alih-alih git rebase --continue
ketika tidak ada perubahan;git_remote_delete
– menggantikan git remote delete remote_name
dengan git remote remove remote_name
;git_rm_local_modifications
– menambahkan -f
atau --cached
ketika Anda mencoba rm
file yang dimodifikasi secara lokal;git_rm_recursive
– menambahkan -r
ketika Anda mencoba untuk rm
suatu direktori;git_rm_staged
– menambahkan -f
atau --cached
ketika Anda mencoba untuk rm
file dengan perubahan bertahapgit_rebase_merge_dir
– menawarkan git rebase (--continue | --abort | --skip)
atau menghapus direktori .git/rebase-merge
saat rebase sedang berlangsung;git_remote_seturl_add
– menjalankan git remote add
ketika git remote set_url
pada remote yang tidak ada;git_stash
– menyembunyikan modifikasi lokal Anda sebelum melakukan rebasing atau berpindah cabang;git_stash_pop
– menambahkan modifikasi lokal Anda sebelum mengeluarkan simpanan, lalu mengatur ulang;git_tag_force
– menambahkan --force
ke git tag <tagname>
ketika tag sudah ada;git_two_dashes
– menambahkan tanda hubung yang hilang ke perintah seperti git commit -amend
atau git rebase -continue
;go_run
– menambahkan ekstensi .go
saat mengkompilasi/menjalankan program Go;go_unknown_command
– memperbaiki perintah go
yang salah, misalnya go bulid
;gradle_no_task
– memperbaiki tugas gradle
yang tidak ditemukan atau ambigu;gradle_wrapper
– menggantikan gradle
dengan ./gradlew
;grep_arguments_order
– memperbaiki urutan argumen grep
untuk situasi seperti grep -lir . test
;grep_recursive
– menambahkan -r
ketika Anda mencoba ke direktori grep
;grunt_task_not_found
– memperbaiki perintah grunt
yang salah eja;gulp_not_task
– memperbaiki tugas gulp
yang salah eja;has_exists_script
– ditambahkan ./
ketika skrip/biner ada;heroku_multiple_apps
– menambahkan --app <app>
ke perintah heroku
seperti heroku pg
;heroku_not_command
– memperbaiki perintah heroku
yang salah seperti heroku log
;history
– mencoba mengganti perintah dengan perintah yang paling mirip dari sejarah;hostscli
– mencoba memperbaiki penggunaan hostscli
;ifconfig_device_not_found
– memperbaiki nama perangkat yang salah seperti wlan0
hingga wlp2s0
;java
– menghapus ekstensi .java
saat menjalankan program Java;javac
– menambahkan .java
yang hilang saat mengkompilasi file Java;lein_not_task
– memperbaiki tugas lein
yang salah seperti lein rpl
;long_form_help
– mengubah -h
menjadi --help
ketika versi formulir pendek tidak didukungln_no_hard_link
– menangkap pembuatan tautan keras pada direktori, menyarankan tautan simbolik;ln_s_order
– memperbaiki urutan argumen ln -s
;ls_all
– menambahkan -A
ke ls
ketika output kosong;ls_lah
– menambahkan -lah
ke ls
;man
– mengubah bagian manual;man_no_space
– memperbaiki perintah man tanpa spasi, misalnya mandiff
;mercurial
– memperbaiki perintah hg
yang salah;missing_space_before_subcommand
– memperbaiki perintah dengan spasi yang hilang seperti npminstall
;mkdir_p
– menambahkan -p
ketika Anda mencoba membuat direktori tanpa induk;mvn_no_command
– menambahkan clean package
ke mvn
;mvn_unknown_lifecycle_phase
– memperbaiki fase siklus hidup yang salah eja dengan mvn
;npm_missing_script
– memperbaiki nama skrip khusus npm
di npm run-script <script>
;npm_run_script
– menambahkan run-script
yang hilang untuk skrip npm
khusus;npm_wrong_command
– memperbaiki perintah npm yang salah seperti npm urgrade
;no_command
– memperbaiki perintah konsol yang salah, misalnya vom/vim
;no_such_file
– membuat direktori yang hilang dengan perintah mv
dan cp
;omnienv_no_such_command
– memperbaiki perintah yang salah untuk goenv
, nodenv
, pyenv
dan rbenv
(mis.: pyenv isntall
atau goenv list
);open
– menambahkan http://
ke alamat yang diteruskan ke open
atau membuat file atau direktori baru dan meneruskannya ke open
;pip_install
– memperbaiki masalah izin pada perintah pip install
dengan menambahkan --user
atau menambahkan sudo
jika perlu;pip_unknown_command
– memperbaiki perintah pip
yang salah, misalnya pip instatl/pip install
;php_s
– menggantikan -s
dengan -S
ketika mencoba menjalankan server php lokal;port_already_in_use
– mematikan proses yang mengikat port;prove_recursively
– menambahkan -r
saat dipanggil dengan direktori;python_command
– menambahkan python
ketika Anda mencoba menjalankan skrip yang tidak dapat dieksekusi/tanpa ./
python;python_execute
– menambahkan .py
yang hilang saat menjalankan file Python;python_module_error
– memperbaiki ModuleNotFoundError dengan mencoba pip install
modul itu;quotation_marks
– memperbaiki penggunaan '
dan "
yang tidak merata saat berisi argumen';path_from_history
– menggantikan jalur yang tidak ditemukan dengan jalur absolut serupa dari riwayat;rails_migrations_pending
– menjalankan migrasi yang tertunda;react_native_command_unrecognized
– memperbaiki perintah react-native
yang tidak dikenal;remove_shell_prompt_literal
– menghapus simbol prompt shell terkemuka $
, umum saat menyalin perintah dari dokumentasi;remove_trailing_cedilla
– menghapus cedilla yang tertinggal ç
, kesalahan ketik umum untuk tata letak keyboard Eropa;rm_dir
– menambahkan -rf
ketika Anda mencoba menghapus direktori;scm_correction
– mengoreksi scm yang salah seperti hg log
ke git log
;sed_unterminated_s
– menambahkan '/' yang hilang ke s
sed
;sl_ls
– mengubah sl
menjadi ls
;ssh_known_hosts
– menghapus host dari known_hosts
jika ada peringatan;sudo
– menambahkan sudo
ke perintah sebelumnya jika gagal karena izin;sudo_command_from_user_path
– menjalankan perintah dari pengguna $PATH
dengan sudo
;switch_lang
– mengalihkan perintah dari tata letak lokal Anda ke en;systemctl
– mengurutkan dengan benar parameter systemctl
yang membingungkan;terraform_init.py
– menjalankan terraform init
sebelum merencanakan atau menerapkan;terraform_no_command.py
– memperbaiki perintah terraform
yang tidak dikenal;test.py
– menjalankan pytest
alih-alih test.py
;touch
– membuat direktori yang hilang sebelum "menyentuh";tsuru_login
– menjalankan tsuru login
jika tidak diautentikasi atau sesi berakhir;tsuru_not_command
– memperbaiki perintah tsuru
yang salah seperti tsuru shell
;tmux
– memperbaiki perintah tmux
;unknown_command
– memperbaiki "perintah tidak dikenal" gaya hadoop hdfs, misalnya menambahkan '-' yang hilang ke perintah di hdfs dfs ls
;unsudo
– menghapus sudo
dari perintah sebelumnya jika suatu proses menolak dijalankan dengan hak pengguna super.vagrant_up
– memulai instance gelandangan;whois
– memperbaiki perintah whois
;workon_doesnt_exists
– memperbaiki nama virtualenvwrapper
env yang disarankan untuk dibuat baru.wrong_hyphen_before_subcommand
– menghapus tanda hubung yang ditempatkan secara tidak tepat ( apt-install
-> apt install
, git-log
-> git log
, dll.)yarn_alias
– memperbaiki perintah yarn
alias seperti yarn ls
;yarn_command_not_found
– memperbaiki perintah yarn
yang salah eja;yarn_command_replaced
– memperbaiki perintah yarn
yang diganti;yarn_help
– memudahkan untuk membuka dokumentasi yarn
; Aturan berikut diaktifkan secara default hanya pada platform tertentu:
apt_get
– menginstal aplikasi dari apt jika tidak diinstal (memerlukan python-commandnotfound
/ python3-commandnotfound
);apt_get_search
– perubahan saat mencoba mencari menggunakan apt-get
dengan mencari menggunakan apt-cache
;apt_invalid_operation
– memperbaiki panggilan apt
dan apt-get
yang tidak valid, seperti apt-get isntall vim
;apt_list_upgradable
– membantu Anda menjalankan apt list --upgradable
setelah apt update
;apt_upgrade
– membantu Anda menjalankan apt upgrade
setelah apt list --upgradable
;brew_cask_dependency
– menginstal dependensi tong;brew_install
– memperbaiki nama formula untuk brew install
;brew_reinstall
– mengubah brew install <formula>
menjadi brew reinstall <formula>
;brew_link
– menambahkan --overwrite --dry-run
jika penautan gagal;brew_uninstall
– menambahkan --force
ke brew uninstall
jika beberapa versi diinstal;brew_unknown_command
– memperbaiki perintah brew yang salah, misalnya brew docto/brew doctor
;brew_update_formula
– mengubah brew update <formula>
menjadi brew upgrade <formula>
;dnf_no_such_command
– memperbaiki perintah DNF yang salah ketik;nixos_cmd_not_found
– menginstal aplikasi di NixOS;pacman
– menginstal aplikasi dengan pacman
jika tidak diinstal (menggunakan yay
, pikaur
atau yaourt
jika tersedia);pacman_invalid_option
– mengganti opsi pacman
huruf kecil dengan huruf besar.pacman_not_found
– memperbaiki nama paket dengan pacman
, yay
, pikaur
atau yaourt
.yum_invalid_operation
– memperbaiki panggilan yum
yang tidak valid, seperti yum isntall vim
;Perintah berikut dibundel dengan The Fuck , namun tidak diaktifkan secara default:
git_push_force
– menambahkan --force-with-lease
ke git push
(mungkin bertentangan dengan git_push_pull
);rm_root
– menambahkan --no-preserve-root
ke perintah rm -rf /
. Untuk menambahkan aturan Anda sendiri, buat file bernama your-rule-name.py
di ~/.config/thefuck/rules
. File aturan harus berisi dua fungsi:
match ( command : Command ) - > bool
get_new_command ( command : Command ) - > str | list [ str ]
Selain itu, aturan dapat berisi fungsi opsional:
side_effect ( old_command : Command , fixed_command : str ) - > None
Aturan juga dapat berisi variabel opsional enabled_by_default
, requires_output
dan priority
.
Command
memiliki tiga atribut: script
, output
dan script_parts
. Aturan Anda tidak boleh berubah Command
.
Aturan api diubah di 3.0: Untuk mengakses pengaturan aturan, impor dengan from thefuck.conf import settings
settings
adalah objek khusus yang dikumpulkan dari ~/.config/thefuck/settings.py
, dan nilai dari env (lihat lebih lanjut di bawah).
Contoh aturan sederhana untuk menjalankan skrip dengan sudo
:
def match ( command ):
return ( 'permission denied' in command . output . lower ()
or 'EACCES' in command . output )
def get_new_command ( command ):
return 'sudo {}' . format ( command . script )
# Optional:
enabled_by_default = True
def side_effect ( command , fixed_command ):
subprocess . call ( 'chmod 777 .' , shell = True )
priority = 1000 # Lower first, default is 1000
requires_output = True
Lebih banyak contoh aturan, fungsi utilitas untuk aturan, pembantu khusus aplikasi/os.
Beberapa parameter The Fuck dapat diubah dalam file $XDG_CONFIG_HOME/thefuck/settings.py
( $XDG_CONFIG_HOME
defaultnya adalah ~/.config
):
rules
– daftar aturan yang diaktifkan, secara default thefuck.const.DEFAULT_RULES
;exclude_rules
– daftar aturan yang dinonaktifkan, secara default []
;require_confirmation
– memerlukan konfirmasi sebelum menjalankan perintah baru, secara default True
;wait_command
– jumlah waktu maksimal dalam hitungan detik untuk mendapatkan keluaran perintah sebelumnya;no_colors
– menonaktifkan keluaran berwarna;priority
– mendiktekan dengan prioritas aturan, aturan dengan priority
lebih rendah akan dicocokkan terlebih dahulu;debug
– mengaktifkan keluaran debug, secara default False
;history_limit
– nilai numerik berapa banyak perintah riwayat yang akan dipindai, seperti 2000
;alter_history
– dorong perintah tetap ke riwayat, secara default True
;wait_slow_command
– jumlah waktu maksimal dalam hitungan detik untuk mendapatkan keluaran perintah sebelumnya jika ada dalam daftar slow_commands
;slow_commands
– daftar perintah lambat;num_close_matches
– jumlah maksimum kecocokan yang disarankan, secara default 3
.excluded_search_path_prefixes
– awalan jalur yang harus diabaikan saat mencari perintah, secara default []
. Contoh settings.py
:
rules = [ 'sudo' , 'no_command' ]
exclude_rules = [ 'git_push' ]
require_confirmation = True
wait_command = 10
no_colors = False
priority = { 'sudo' : 100 , 'no_command' : 9999 }
debug = False
history_limit = 9999
wait_slow_command = 20
slow_commands = [ 'react-native' , 'gradle' ]
num_close_matches = 5
Atau melalui variabel lingkungan:
THEFUCK_RULES
– daftar aturan yang diaktifkan, seperti DEFAULT_RULES:rm_root
atau sudo:no_command
;THEFUCK_EXCLUDE_RULES
– daftar aturan yang dinonaktifkan, seperti git_pull:git_push
;THEFUCK_REQUIRE_CONFIRMATION
– memerlukan konfirmasi sebelum menjalankan perintah baru, true/false
;THEFUCK_WAIT_COMMAND
– jumlah waktu maksimal dalam hitungan detik untuk mendapatkan keluaran perintah sebelumnya;THEFUCK_NO_COLORS
– menonaktifkan keluaran berwarna, true/false
;THEFUCK_PRIORITY
– prioritas aturan, seperti no_command=9999:apt_get=100
, aturan dengan priority
lebih rendah akan dicocokkan terlebih dahulu;THEFUCK_DEBUG
– mengaktifkan keluaran debug, true/false
;THEFUCK_HISTORY_LIMIT
– berapa banyak perintah riwayat yang akan dipindai, seperti 2000
;THEFUCK_ALTER_HISTORY
– dorong perintah tetap ke riwayat true/false
;THEFUCK_WAIT_SLOW_COMMAND
– jumlah waktu maksimal dalam hitungan detik untuk mendapatkan keluaran perintah sebelumnya jika ada dalam daftar slow_commands
;THEFUCK_SLOW_COMMANDS
– daftar perintah lambat, seperti lein:gradle
;THEFUCK_NUM_CLOSE_MATCHES
– jumlah maksimum kecocokan yang disarankan, seperti 5
.THEFUCK_EXCLUDED_SEARCH_PATH_PREFIXES
– awalan jalur yang harus diabaikan saat mencari perintah, secara default []
.Misalnya:
export THEFUCK_RULES= ' sudo:no_command '
export THEFUCK_EXCLUDE_RULES= ' git_pull:git_push '
export THEFUCK_REQUIRE_CONFIRMATION= ' true '
export THEFUCK_WAIT_COMMAND=10
export THEFUCK_NO_COLORS= ' false '
export THEFUCK_PRIORITY= ' no_command=9999:apt_get=100 '
export THEFUCK_HISTORY_LIMIT= ' 2000 '
export THEFUCK_NUM_CLOSE_MATCHES= ' 5 '
Jika Anda ingin membuat seperangkat aturan non-publik tertentu, namun masih ingin membaginya dengan orang lain, buatlah paket bernama thefuck_contrib_*
dengan struktur berikut:
thefuck_contrib_foo
thefuck_contrib_foo
rules
__init__.py
*third-party rules*
__init__.py
*third-party-utils*
setup.py
Persetan akan menemukan aturan yang terletak di modul rules
.
Perilaku default The Fuck memerlukan waktu untuk menjalankan kembali perintah sebelumnya. Saat dalam mode instan, The Fuck menghemat waktu dengan mencatat keluaran dengan skrip, lalu membaca log.
Saat ini, mode instan hanya mendukung Python 3 dengan bash atau zsh. Fungsi koreksi otomatis zsh juga perlu dinonaktifkan agar dapat berfungsi dengan baik.
Untuk mengaktifkan mode instan, tambahkan --enable-experimental-instant-mode
ke inisialisasi alias di .bashrc
, .bash_profile
atau .zshrc
.
Misalnya:
eval $( thefuck --alias --enable-experimental-instant-mode )
Lihat KONTRIBUSI.md
Lisensi Proyek dapat ditemukan di sini.