Code Monkey home page Code Monkey logo

cheat's Introduction

PyPI

cheat

cheat allows you to create and view interactive cheatsheets on the command-line. It was designed to help remind *nix system administrators of options for commands that they use frequently, but not frequently enough to remember.

The obligatory xkcd

Example

The next time you're forced to disarm a nuclear weapon without consulting Google, you may run:

cheat tar

You will be presented with a cheatsheet resembling:

# To extract an uncompressed archive: 
tar -xvf '/path/to/foo.tar'

# To extract a .gz archive:
tar -xzvf '/path/to/foo.tgz'

# To create a .gz archive:
tar -czvf '/path/to/foo.tgz' '/path/to/foo/'

# To extract a .bz2 archive:
tar -xjvf '/path/to/foo.tgz'

# To create a .bz2 archive:
tar -cjvf '/path/to/foo.tgz' '/path/to/foo/'

To see what cheatsheets are available, run cheat -l.

Note that, while cheat was designed primarily for *nix system administrators, it is agnostic as to what content it stores. If you would like to use cheat to store notes on your favorite cookie recipes, feel free.

Installing

It is recommended to install cheat with pip:

[sudo] pip install cheat

Other installation methods are available.

Modifying Cheatsheets

The value of cheat is that it allows you to create your own cheatsheets - the defaults are meant to serve only as a starting point, and can and should be modified.

Cheatsheets are stored in the ~/.cheat/ directory, and are named on a per-keyphrase basis. In other words, the content for the tar cheatsheet lives in the ~/.cheat/tar file.

Provided that you have a CHEAT_EDITOR, VISUAL, or EDITOR environment variable set, you may edit cheatsheets with:

cheat -e foo

If the foo cheatsheet already exists, it will be opened for editing. Otherwise, it will be created automatically.

After you've customized your cheatsheets, I urge you to track ~/.cheat/ along with your dotfiles.

Configuring

Setting a DEFAULT_CHEAT_DIR

Personal cheatsheets are saved in the ~/.cheat directory by default, but you can specify a different default by exporting a DEFAULT_CHEAT_DIR environment variable:

export DEFAULT_CHEAT_DIR='/path/to/my/cheats'

Setting a CHEATPATH

You can additionally instruct cheat to look for cheatsheets in other directories by exporting a CHEATPATH environment variable:

export CHEATPATH='/path/to/my/cheats'

You may, of course, append multiple directories to your CHEATPATH:

export CHEATPATH="$CHEATPATH:/path/to/more/cheats"

You may view which directories are on your CHEATPATH with cheat -d.

Enabling Syntax Highlighting

cheat can optionally apply syntax highlighting to your cheatsheets. To enable syntax highlighting, export a CHEATCOLORS environment variable:

export CHEATCOLORS=true

Specifying a Syntax Highlighter

You may manually specify which syntax highlighter to use for each cheatsheet by wrapping the sheet's contents in a Github-Flavored Markdown code-fence.

Example:

```sql
-- to select a user by ID
SELECT *
FROM Users
WHERE id = 100
```

If no syntax highlighter is specified, the bash highlighter will be used by default.

See Also:

cheat's People

Contributors

chrisallenlane avatar 1mm0rt41pc avatar dufferzafar avatar 0rax avatar mic92 avatar shanahanjrs avatar kragniz avatar maggick avatar askurihin avatar gbremer avatar charley-peng avatar cedric-dufour avatar pierrepo avatar larsyencken avatar adelviscio avatar rahulkavale avatar shigemk2 avatar amitsaha avatar youtux avatar aayush-kasurde avatar aborgna avatar brutus avatar carlosp420 avatar fmunch avatar laomaiweng avatar ozdemircili avatar tupaschoal avatar rski avatar myfavouritekk avatar rognan avatar

Watchers

James Cloos avatar Slanterns avatar  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.