An interactive cheatsheet tool for the command-line so that you’ll never say the following again:
–How to run that command again?
–Oh, it’s not in my bash history
–Geez, it’s almost what I wanted but I need to change some args
naviallows you to browse through cheatsheets (that you may write yourself or download from maintainers) and execute commands, prompting for argument values.
Installation
Usingbrew:
brew install denisidoro / tools / navi
Without brew:
git clone http://github.com/denisidoro/navi / opt / naviCD/ opt / navi sudo make install#install fzf: https: //github.com/junegunn/fzf
Usage
Simply call:
Trying it out online
Head tothis playgroundfor previewingnavi.
Motivation
The main objectives are:
- to increase discoverability, by finding commands given keywords or descriptions;
- to prevent you from running auxiliar commands, copying the result into the clipboard and then pasting into the original command;
- to easily share one-liners with others so that they don ‘t need to figure out how to write the commands;
- to improve terminal usage as a whole.
Sure, you can find autocompleters out there for all your favorite commands. However, they are very specific and each one may offer a different learning curve.
Or you can launch a browser and search for instructions on Google, but that takes some time.
navi, on the other hand, intends to be a general purpose platform for bookmarking any command at a very low cost.
Using your own cheatsheets
In this case, you need to pass the directory which contains.cheat
files as in:
navi --dir"/ folder / with / cheats""
Alternatively, you can set an environment variable in your.Bashrc
– like file:
(export) ****************************** (NAVI_DIR=)"/ folder / with / cheats''
Submitting cheatsheets
Feel free to fork this project and open a PR for me to include your contributions.
.Cheat Syntax
- lines starting with
%
should contain tags which will be added to any command in a given file; - lines starting with
#
should be descriptions of commands; - lines starting with
$
should contain commands that generate suggestion values for a given argument; - all the other non-empty lines are considered as executable commands .
For example, this is a valid. file:
% git, code#Change branchgit checkoutbranch>$ branch: git branch --format=''% (refname: short)'
For advanced usage, please refer to the files in/ cheats.
Alternatives
Etymology
InThe Legend of Zelda Ocarina of Time,Naviis a character that providesLinkwith a variety of clues to help him solve puzzles and progress in his quest . *****
GIPHY App Key not set. Please check settings