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 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.
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
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.
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'
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
.
cheater
can optionally apply syntax highlighting to your cheatsheets. To enable
syntax highlighting, export a CHEATERCOLORS
environment variable:
export CHEATERCOLORS=true
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.
cheater
is a fork of Chris Allen Lane's wonderful project cheat
.
Please check it out: https://github.com/chrisallenlane/cheat