yafp / cheater

cheater 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.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cheater

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

cheater 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 cheater -l.

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

Installation

First, install the dependencies:

[sudo] pip install docopt pygments appdirs

Then clone this repository:

git clone git@github.com:yafp/cheater.git

Lastly, cd into the cloned directory, then run:

[sudo] python setup.py install

Modifying Cheatsheets

The value of cheater 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 ~/.cheater/ directory, and are named on a per-keyphrase basis. In other words, the content for the tar cheatsheet lives in the ~/.cheater/tar file.

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

cheater -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 ~/.cheater/ along with your dotfiles.

Configuring

Setting a DEFAULT_CHEAT_DIR

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

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

Setting a CHEATERPATH

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

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

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

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

You may view which directories are on your CHEATERPATH with cheater -d.

Enabling Syntax Highlighting

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

export CHEATERCOLORS=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][gfm].

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.

Credits

cheater is a fork of Chris Allen Lane's wonderful project cheat.

Please check it out: https://github.com/chrisallenlane/cheat

About

cheater 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.

License:Other


Languages

Language:Python 92.7%Language:Shell 7.3%