/zsh-thefuck

ZSH plugin with thefuck initialization and useful functions

Primary LanguageShellMIT LicenseMIT

thefuck

License: MIT

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

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

The only framework does optimizations in plugins with sophisticated coding skill:

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 Esc Esc 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