Need help with navi?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

denisidoro
9.8K Stars 391 Forks Apache License 2.0 631 Commits 22 Opened issues

Description

An interactive cheatsheet tool for the command-line

Services available

!
?

Need anything else?

Contributors list

# 9,223
Bash
lisp-in...
Rust
Lisp
411 commits
# 48,980
Sass
Rust
Shell
Bash
33 commits
# 83,755
iso
Shell
nix
Rust
12 commits
# 53,270
active-...
Zsh
python3
Rust
7 commits
# 116,943
Rust
Termina...
Shell
Bash
6 commits
# 126,882
Rust
Termina...
Shell
Bash
5 commits
# 114,254
Shell
spoofin...
Go
Rust
4 commits
# 115,227
Shell
C++
termina...
ascii-g...
4 commits
# 158,033
Rust
Shell
Bash
snippet
3 commits
# 152,545
Rust
C++
caldav
Bash
3 commits
# 157,400
C++
Rust
Termina...
Bash
3 commits
# 158,169
Rust
Termina...
Shell
Bash
3 commits
# 186,353
Rust
Termina...
Shell
Bash
2 commits
# 80,799
elisp
Emacs
Lisp
Bash
2 commits
# 186,052
Rust
Termina...
Shell
Bash
2 commits
# 110,350
Shell
GraphQL
web-ser...
Flask
2 commits
# 186,352
Rust
Termina...
Shell
Bash
2 commits
# 132,869
xslt
Django
Symfony
sed
2 commits
# 28,228
meteor
angular...
openapi
swagger
1 commit
# 220,307
ssl-pin...
React
materia...
Bootstr...
1 commit

navi icon Actions Status GitHub release

An interactive cheatsheet tool for the command-line.

Demo

navi allows you to browse through cheatsheets (that you may write yourself or download from maintainers) and execute commands. Suggested values for arguments are dynamically displayed in a list.

Pros

  • it will spare you from knowing CLIs by heart
  • it will spare you from copy-pasting output from intermediate commands
  • it will make you type less
  • it will teach you new one-liners

It uses fzf, skim, or Alfred under the hood and it can be either used as a command or as a shell widget (à la Ctrl-R).

Table of contents

Installation

navi can be installed with the following package managers:

Packaging status

The recommended way to install navi is by running:

sh
brew install navi

If

brew
isn't available, you can check alternative install instructions.

Usage

There are multiple ways to use navi:

  • by typing
    navi
    in the terminal
    • pros: you have access to all possible subcommands and flags
  • as a shell widget for the terminal
    • pros: the shell history is correctly populated (i.e. with the actual command you ran instead of
      navi
      ) and you can edit the command as you wish before executing it
  • as aliases
  • as a shell scripting tool
  • as an Alfred workflow

In particular, check these instructions if you want to replicate what's shown in the demo above.

Cheatsheet repositories

Running navi for the first time will help you download and manage cheatsheets.

You can also: - browse through featured cheatsheets - import cheatsheets from git repositories - write your own cheatsheets (and share them, if you want) - use cheatsheets from other tools, such as tldr and cheat.sh - auto-update repositories

Cheatsheet syntax

Cheatsheets are described in

.cheat
files that look like this:
% git, code

Change branch

git checkout

$ branch: git branch | awk '{print $NF}'

The full syntax and examples can be found here.

Customization

You can: - setup your own config file - change colors - resize columns - change how search is performed

More info

Please run the following command to read more about all possible options:

sh
navi --help

In addition, please check the /docs folder.

Trying out online

If you don't have access to a Unix shell at the moment and you want to live preview navi, head to this playground. It'll start a docker container with instructions for you to install and use the tool. Note: login required.

Similar tools

There are many similar projects out there (beavr, bro, cheat, cheat.sh, cmdmenu, eg, how2, howdoi and tldr, to name a few).

They are excellent projects, but navi remains unique in the following ways: - it's natural to write cheatsheets tailored to your needs - arguments are neither hardcoded nor a simple template

Etymology

Navi is a character from The Legend of Zelda Ocarina of Time that provides Link with a variety of clues to help him solve puzzles and make progress in his quest.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.