You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Redo is a command line application to easily create reusable functions in your own shell. Think of redo like an
interactive way combine multiple commands from your shell history in a single command. This can be handy for quickly
re-doing multiple commands for example deleting and starting a new docker container.
tar -xf <downloaded_archive> redo && sudo mv redo /usr/local/bin
Install from source
go install github.com/barthr/redo@latest
After downloading add the following line to your~/.bashrc or ~/.zshrc
source"$(redo alias-file)"
This will make sure that the aliases from redo are loaded on every shell session.
Quickstart
redo contains a couple of commands, which can be used to create reusable functions.
redo - Opens up the interactive window to create a new function
redo alias-file - Prints the path to the functions file
redo edit - Opens the functions file in your configured editor
redo help - Prints a help message which includes information about all the commands
Configuration
Redo can mostly run without requiring any specific configuration, however it is possible to customize this configuration
by setting the following environment variables:
REDO_ALIAS_PATH: The path where the alias file of redo is stored (defaults to aliases file in user config dir)
REDO_CONFIG_PATH: The config path for redo (defaults to user config dir)
REDO_HISTORY_PATH: The location of the history file which redo uses to source commands (*defaults to HISTFILE if it
is
exported)
REDO_EDITOR: The editor you want to use when running commands like redo edit (defaults to EDITOR **if it is exported
**)
Shortcuts
Redo can be bind to a shortcut, so you can easily summon it without calling it directly.
zsh CTRL+e summons redo:
Put the following line in your zshrc file
bindkey -s '^e''redo^M'
bash CTRL+e summons redo:
Put the following line in your bashrc file or bash_profile
bind'"\C-e":"redo\n"'
Roadmap
Reordering of selected tasks
Easy listing/deletion of functions
Inline editing of shell functions
Prebuilt binaries published as .deb .rpm .yum etc.