LinuxCommandLibrary

cheat

Create and view interactive cheat sheets on the command-line.

TLDR

Show example usage of a command

$ cheat [command]
copy


Edit the cheat sheet for a command
$ cheat -e [command]
copy


List the available cheat sheets
$ cheat -l
copy


Search available the cheat sheets for a specified command name
$ cheat -s [command]
copy


Get the current cheat version
$ cheat -v
copy

SYNOPSIS

cheat [options] [CHEATSHEET]

DESCRIPTION

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.

OPTIONS

–init

Print a config file to stdout.

-c, –colorize

Colorize output.

-d, –directories

List cheatsheet directories.

-e, –edit=CHEATSHEET

Open CHEATSHEET for editing.

-l, –list

List available cheatsheets.

-p, –path=PATH

Filter only to sheets found on path PATH.

-r, –regex

Treat search PHRASE as a regular expression.

-s, –search=PHRASE

Search cheatsheets for PHRASE.

-t, –tag=TAG

Filter only to sheets tagged with TAG.

-T, –tags

List all tags in use.

-v, –version

Print the version number.

–rm=CHEATSHEET

Remove (deletes) CHEATSHEET.

EXAMPLES

To view the foo cheatsheet:

cheat foo

To edit (or create) the foo cheatsheet:

cheat -e foo

To edit (or create) the foo/bar cheatsheet on the `work' cheatpath:

cheat -p work -e foo/bar

To view all cheatsheet directories:

cheat -d

To list all available cheatsheets:

cheat -l

To list all cheatsheets whose titles match `apt':

cheat -l apt

To list all tags in use:

cheat -T

To list available cheatsheets that are tagged as `personal':

cheat -l -t personal

To search for `ssh' among all cheatsheets, and colorize matches:

cheat -c -s ssh

To search (by regex) for cheatsheets that contain an IP address:

cheat -c -r -s `(?:[0-9]{1,3}.){3}[0-9]{1,3}'

To remove (delete) the foo/bar cheatsheet:

cheat –rm foo/bar

FILES

Configuration

cheat is configured via a YAML file that is conventionally named conf.yaml. cheat will search for conf.yaml in varying locations, depending upon your platform:

Linux, OSX, and other Unixes

  1. CHEAT_CONFIG_PATH

  2. XDG_CONFIG_HOME/cheat/conf.yaml

  3. $HOME/.config/cheat/conf.yml

  4. $HOME/.cheat/conf.yml

Windows

  1. CHEAT_CONFIG_PATH

  2. APPDATA/cheat/conf.yml

  3. PROGRAMDATA/cheat/conf.yml

cheat will search in the order specified above. The first conf.yaml encountered will be respected.

If cheat cannot locate a config file, it will ask if you’d like to generate one automatically. Alternatively, you may also generate a config file manually by running cheat –init and saving its output to the appropriate location for your platform.

Cheatpaths

cheat reads its cheatsheets from “cheatpaths”, which are the directories in which cheatsheets are stored. Cheatpaths may be configured in conf.yaml, and viewed via cheat -d.

For detailed instructions on how to configure cheatpaths, please refer to the comments in conf.yml.

Autocompletion

Autocompletion scripts for bash, zsh, and fish are available for download:

The bash and zsh scripts provide optional integration with fzf, if the latter is available on your PATH.

The installation process will vary per system and shell configuration, and thus will not be discussed here.

ENVIRONMENT

CHEAT_CONFIG_PATH

The path at which the config file is available. If CHEAT_CONFIG_PATH is set, all other config paths will be ignored.

CHEAT_USE_FZF

If set, autocompletion scripts will attempt to integrate with fzf.

RETURN VALUES

  1. Successful termination

  2. Application error

  3. Cheatsheet(s) not found

BUGS

See GitHub issues: <https://github.com/cheat/cheat/issues>

SEE ALSO

fzf(1)

AUTHOR

Christopher Allen Lane <chris@chris-allen-lane.com>

Copied to clipboard