GithubHelp home page GithubHelp logo

hartl3y94 / navi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from denisidoro/navi

0.0 0.0 0.0 748 KB

An interactive cheatsheet tool for the command-line and application launchers

License: Apache License 2.0

Shell 17.44% Makefile 0.06% Rust 82.50%

navi's Introduction

navi icon Actions Status GitHub release

An interactive cheatsheet tool for the command-line and application launchers.

Terminal 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:

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

Cheatsheet repositories

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

You can also:

Cheatsheet syntax

Cheatsheets are described in .cheat files that look like this:

% git, code

# Change branch
git checkout <branch>

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

The full syntax and examples can be found here.

Customization

You can:

More info

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

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

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

navi's People

Contributors

aaronliu0130 avatar alxbl avatar amacfie avatar ashrithr avatar austinjones avatar b3s1r avatar bajatin avatar bitozoid avatar dawidd6 avatar denisidoro avatar densa-inc avatar djerfy avatar dotiful avatar dtrodrigues avatar dziman avatar emersonmx avatar engrravijain avatar enisozgen avatar itmecho avatar jmbataller avatar kevcui avatar kibouo avatar mrvandalo avatar phate6660 avatar purplebooth avatar shenek avatar spoki0 avatar toan2406 avatar wardwouts avatar whoan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.