Awesome
thefuck
ZSH plugin. Initialize thefuck
with cache support, which reduce the loading
time dramatically. ( 120ms -> 2ms )
This plugin is designed as a Prezto module, but it's also compatible with other plugin managers.
Installation
Zplugin
The only ZSH plugin manager solves the time-consuming init for
nvm
, nodenv
, pyenv
, rvm
, rbenv
, thefuck
, fasd
, etc,
with its amazing async Turbo Mode.
zplugin ice wait'1' lucid
zplugin light laggardkernel/zsh-thefuck
Prezto
The only framework does optimizations in plugins with sophisticated coding skill:
- refreshing
.zcompdump
every 20h - compiling
.zcompdump
as bytecode in the background - caching init script for fasd
- saving
*env
startup time withinit - --no-rehash
forrbenv
,pyenv
,nodenv
- removing the horribly time-consuming
brew command
fromcommand-not-found
mkdir -p ${ZDOTDIR:-$HOME}/.zprezto/contrib 2>/dev/null
git clone https://github.com/laggardkernel/zsh-thefuck.git ${ZDOTDIR:-$HOME}/.zprezto/contrib/thefuck
Settings
Alias
The default alias for thefuck
is fuck
, you can customize the alias,
zstyle ":prezto:module:thefuck" alias "damn"
Key bindings
Key binding <kbd>Esc Esc</kbd> is enabled to trigger function fuck-command-line
to input the last rectified commands in the shell quickly. You can disable
this auto keybinding behavior and set your own keybinding with,
# disable the default keybinding
zstyle ":prezto:module:thefuck" bindkey "no"
# customize your own keybinding
bindkey "\e\e" fuck-command-line
Conf File Location for Freshness Comparison
By default, this module compares the freshness between .zprezto
and the cache file. Once the .zprezto
is modified and newer than the cache file, the
cache will be regenerated.
If you're not using Prezto, you may want to change the conf file used in the freshness comparison.
zstyle ":prezto:runcom" zpreztorc "$HOME/.config/zsh/.zshrc"
Credit
The shortcut function fuck-command-line
is borrowed from oh-my-zsh/plugins/thefuck.
License
The MIT License (MIT)
Copyright (c) 2019 laggardkernel