# Micro help text
-### Keybindings
+Micro is a terminal-based text editor that aims to be easy to use and intuitive,
+while also taking advantage of the full capabilities of modern terminals.
-These are the default keybindings, along with their actions.
+### Accessing more help
-#### Editor bindings
+Micro has a built-in help system much like Vim's (although less extensive).
-* Ctrl-q: Quit
-* Ctrl-e: Execute a command
-* Ctrl-g: Toggle help text
-* Ctrl-b: Run a shell command
+To use it, press CtrlE to access command mode and type in help followed by a topic.
+Typing help followed by nothing will open this page.
-#### Buffer bindings
+Here are the possible help topics that you can read:
-* Ctrl-s: Save
-* Ctrl-o: Open file
+* tutorial: A brief tutorial which gives an overview of all the other help topics
+* keybindings: Gives a full list of the default keybindings as well as how to rebind them
+* commands: Gives a list of all the commands and what they do
+* options: Gives a list of all the options you can customize
+* plugins: Explains how micro's plugin system works and how to create your own plugins
+* colors: Explains micro's colorscheme and syntax highlighting engine and how to create your
+ own colorschemes or add new languages to the engine
-* Ctrl-z: Undo
-* Ctrl-y: Redo
+For example to open the help page on plugins you would press CtrlE and type `help plugins`.
-* Ctrl-f: Find
-* Ctrl-n: Find next
-* Ctrl-p: Find previous
-
-* Ctrl-a: Select all
-
-* Ctrl-c: Copy
-* Ctrl-x: Cut
-* Ctrl-k: Cut line
-* Ctrl-v: Paste
-
-* Ctrl-u: Half page up
-* Ctrl-d: Half page down
-* PageUp: Page up
-* PageDown: Page down
-
-* Home: Go to beginning of file
-* End: Go to end of file
-
-* Ctrl-r: Toggle line numbers
-
-The buffer bindings may be rebound using the `~/.config/micro/bindings.json` file. Each key is bound to an action.
-
-For example, to bind `Ctrl-y` to undo and `Ctrl-z` to redo, you could put the following in the `bindings.json` file.
-
-```json
-{
- "CtrlY": "Undo",
- "CtrlZ": "Redo"
-}
-```
-
-### Possible commands
-
-You can execute an editor command by pressing `Ctrl-e` followed by the command.
-Here are the possible commands that you can use.
-
-* `quit`: Quits micro.
-* `save`: Saves the current buffer.
-
-`replace "search" "value"`: This will replace `search` with `value`.
-Note that `search` must be a valid regex. If one of the arguments
-does not have any spaces in it, you may omit the quotes.
-
-`set option value`: sets the option to value. Please see the next section for a list of options you can set.
-
-`run sh-command`: runs the given shell command in the background. The command's output will be displayed
-in one line when it finishes running.
-
-### Options
-
-Micro stores all of the user configuration in its configuration directory.
-
-Micro uses the `$XDG_CONFIG_HOME/micro` as the configuration directory. As per the XDG spec,
-if `$XDG_CONFIG_HOME` is not set, `~/.config/micro` is used as the config directory.
-
-Here are the options that you can set:
-
-`colorscheme`: loads the colorscheme stored in $(configDir)/colorschemes/`option`.micro
- default value: `default`
- Note that the default colorschemes (default, solarized, and solarized-tc) are not located in configDir,
- because they are embedded in the micro binary
-
-`tabsize`: sets the tab size to `option`
- default value: `4`
-
-`syntax`: turns syntax on or off
- default value: `on`
-
-`tabsToSpaces`: use spaces instead of tabs
- default value: `off`
-
-`autoindent`: when creating a new line use the same indentation as the previous line
- default value: `on`
-
-`ruler`: display line numbers
- default value: `on`
-
-`gofmt`: Run `gofmt` whenever the file is saved (this only applies to `.go` files)
- default value: `off`
-
-`goimports`: run `goimports` whenever the file is saved (this only applies to `.go` files)
- default value: `off`
-
-In the future, the `gofmt` and `goimports` will be refactored using a plugin system. However,
-currently they just make it easier to program micro in micro.
+I recommend looking at the `tutorial` help file because it is short for each section and
+gives concrete examples of how to use the various configuration options in micro. However,
+it does not give the in-depth documentation that the other topics provide.