### Usage
-Once you have built the editor, simply start it by running `micro path/to/file.txt` or simply `micro` to open an empty buffer.
+Once you have built the editor, simply start it by running
+`micro path/to/file.txt` or simply `micro` to open an empty buffer.
Micro also supports creating buffers from stdin:
You can hold shift with all of these movement actions to select while moving.
-The buffer bindings may be rebound using the `~/.config/micro/bindings.json` file. Each key is bound to an action.
+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.
+For example, to bind `Ctrl-y` to undo and `Ctrl-z` to redo, you could put the
+following in the `bindings.json` file.
```json
{
```json
{
- "Up": "CursorDown",
- "Down": "CursorUp",
+ "Up": "CursorUp",
+ "Down": "CursorDown",
"Right": "CursorRight",
"Left": "CursorLeft",
"ShiftUp": "SelectUp",
* `quit`: Quits micro.
* `save`: Saves the current buffer.
-* `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
+* `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
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.
+* `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.
+* `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.
+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
+* `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
+ Note that the default colorschemes (default, solarized, and solarized-tc)
+ are not located in configDir, because they are embedded in the micro binary
- The colorscheme can be selected from all the files in the ~/.config/micro/colorschemes/ directory. Micro comes by default with three colorschemes:
+ The colorscheme can be selected from all the files in the
+ ~/.config/micro/colorschemes/ directory. Micro comes by default with three
+ colorschemes:
* default: this is the default colorscheme.
- * 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.
+ * 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.
* `tabsize`: sets the tab size to `option`
default value: `4`
+* `indentchar`: sets the indentation character
+
+ default value: ` `
+
* `syntax`: turns syntax on or off
default value: `on`
default value: `off`
-* `autoindent`: when creating a new line use the same indentation as the previous line
+* `autoindent`: when creating a new line use the same indentation as the
+ previous line
default value: `on`
default value: `on`
-* `gofmt`: Run `gofmt` whenever the file is saved (this only applies to `.go` files)
+* `statusline`: display the status line at the bottom of the screen
- default value: `off`
+ default value: `on`
+
+* `scrollspeed`: amount of lines to scroll
+
+ default value: `2`
+
+---
-* `goimports`: run `goimports` whenever the file is saved (this only applies to `.go` files)
+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`
-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.
+* `gofmt`: Run gofmt on save. Provided by the `go` plugin.
+
+ default value: `on`
-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.
+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.