micro/runtime/help/help.md

219 lines
6.1 KiB
Markdown
Raw Normal View History

# Micro help text
2016-04-24 15:38:38 +03:00
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.
### Usage
2016-04-30 19:43:40 +03:00
Once you have built the editor, simply start it by running
`micro path/to/file.txt` or simply `micro` to open an empty buffer.
2016-04-24 15:38:38 +03:00
Micro also supports creating buffers from stdin:
```
$ ifconfig | micro
```
You can move the cursor around with the arrow keys and mouse.
### Keybindings
These are the default keybindings, along with their actions.
2016-04-30 18:33:04 +03:00
#### Editor bindings
* Ctrl-q: Quit
* Ctrl-e: Execute a command
* Ctrl-g: Toggle help text
* Ctrl-b: Run a shell command
#### Buffer bindings
* Ctrl-s: Save
* Ctrl-o: Open file
* Ctrl-z: Undo
* Ctrl-y: Redo
* 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
2016-04-25 21:15:33 +03:00
* Home: Go to beginning of line
* End: Go to end of line
* Ctrl-r: Toggle line numbers
2016-04-28 22:05:53 +03:00
You can use the alt keys + arrows to move word by word.
Ctrl left and right move the cursor to the start and end of the line, and
ctrl up and down move the cursor the start and end of the buffer.
You can hold shift with all of these movement actions to select while moving.
2016-04-30 19:43:40 +03:00
The buffer bindings may be rebound using the `~/.config/micro/bindings.json`
file. Each key is bound to an action.
2016-04-30 19:43:40 +03:00
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"
}
```
2016-04-30 18:33:04 +03:00
Here are the defaults:
```json
{
"Up": "CursorUp",
"Down": "CursorDown",
2016-04-30 18:33:04 +03:00
"Right": "CursorRight",
"Left": "CursorLeft",
"ShiftUp": "SelectUp",
"ShiftDown": "SelectDown",
"ShiftLeft": "SelectLeft",
"ShiftRight": "SelectRight",
"AltLeft": "WordLeft",
"AltRight": "WordRight",
"AltShiftRight": "SelectWordRight",
"AltShiftLeft": "SelectWordLeft",
"CtrlLeft": "StartOfLine",
"CtrlRight": "EndOfLine",
"CtrlShiftLeft": "SelectToStartOfLine",
"CtrlShiftRight": "SelectToEndOfLine",
"CtrlUp": "CursorStart",
"CtrlDown": "CursorEnd",
"CtrlShiftUp": "SelectToStart",
"CtrlShiftDown": "SelectToEnd",
"Enter": "InsertEnter",
"Space": "InsertSpace",
"Backspace": "Backspace",
"Backspace2": "Backspace",
"Tab": "InsertTab",
"CtrlO": "OpenFile",
"CtrlS": "Save",
"CtrlF": "Find",
"CtrlN": "FindNext",
"CtrlP": "FindPrevious",
"CtrlZ": "Undo",
"CtrlY": "Redo",
"CtrlC": "Copy",
"CtrlX": "Cut",
"CtrlK": "CutLine",
"CtrlV": "Paste",
"CtrlA": "SelectAll",
"Home": "Start",
"End": "End",
"PgUp": "PageUp",
"PgDn": "PageDown",
"CtrlU": "HalfPageUp",
"CtrlD": "HalfPageDown",
"CtrlR": "ToggleRuler",
"Delete": "Delete"
}
```
### 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.
2016-04-30 19:43:40 +03:00
* `replace "search" "value" flags`: This will replace `search` with `value`.
The `flags` are optional.
At this point, there is only one flag: `c`, which enables `check` mode
which asks if you'd like to perform the replacement each time
2016-04-24 15:38:38 +03:00
2016-04-25 00:08:40 +03:00
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.
2016-04-30 19:43:40 +03:00
* `set option value`: sets the option to value. Please see the next section for
a list of options you can set.
2016-04-30 19:43:40 +03:00
* `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.
2016-04-30 19:43:40 +03:00
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:
2016-04-30 19:43:40 +03:00
* `colorscheme`: loads the colorscheme stored in
$(configDir)/colorschemes/`option`.micro
2016-04-24 15:38:38 +03:00
default value: `default`
2016-04-30 19:43:40 +03:00
Note that the default colorschemes (default, solarized, and solarized-tc)
are not located in configDir, because they are embedded in the micro binary
2016-04-30 19:43:40 +03:00
The colorscheme can be selected from all the files in the
~/.config/micro/colorschemes/ directory. Micro comes by default with three
colorschemes:
2016-04-24 15:38:38 +03:00
* default: this is the default colorscheme.
2016-04-30 19:43:40 +03:00
* solarized: this is the solarized colorscheme (used in the screenshot).
You should have the solarized color palette in your terminal to use it.
* solarized-tc: this is the solarized colorscheme for true color, just
make sure your terminal supports true color before using it and that the
MICRO_TRUECOLOR environment variable is set to 1 before starting micro.
2016-04-24 15:38:38 +03:00
* `tabsize`: sets the tab size to `option`
default value: `4`
2016-04-24 15:38:38 +03:00
* `syntax`: turns syntax on or off
default value: `on`
2016-04-24 15:38:38 +03:00
* `tabsToSpaces`: use spaces instead of tabs
default value: `off`
2016-04-30 19:43:40 +03:00
* `autoindent`: when creating a new line use the same indentation as the
previous line
2016-04-24 15:38:38 +03:00
default value: `on`
2016-04-24 15:38:38 +03:00
* `ruler`: display line numbers
default value: `on`
2016-05-05 19:56:52 +03:00
---
Default plugin options:
* `linter`: lint languages on save (supported languages are C, D, Go, Java,
Javascript, Lua). Provided by the `linter` plugin.
default value: `on`
* `goimports`: Run goimports on save. Provided by the `go` plugin.
default value: `off`
* `gofmt`: Run gofmt on save. Provided by the `go` plugin.
default value: `on`
2016-04-30 19:43:40 +03:00
Any option you set in the editor will be saved to the file
~/.config/micro/settings.json so, in effect, your configuration file will be
created for you. If you'd like to take your configuration with you to another
machine, simply copy the settings.json to the other machine.