### Keybindings
-These are the default keybindings, along with their actions.
-
-
-* Ctrl-q: Quit
-* Ctrl-e: Execute a command
-* Ctrl-g: Toggle help text
-* Ctrl-b: Run a shell command
-* 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-d: Duplicate line
-* Ctrl-v: Paste
-* PageUp: Page up
-* PageDown: Page down
-* Home: Go to beginning of line
-* End: Go to end of line
-* Ctrl-r: Toggle line numbers
+Here are the default keybindings in json form which is also how
+you can rebind them to your liking.
+
+```json
+{
+ "Up": "CursorUp",
+ "Down": "CursorDown",
+ "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",
+ "Alt-Backspace": "DeleteWordLeft",
+ "Alt-Backspace2": "DeleteWordLeft",
+ "Tab": "InsertTab",
+ "CtrlO": "OpenFile",
+ "CtrlS": "Save",
+ "CtrlF": "Find",
+ "CtrlN": "FindNext",
+ "CtrlP": "FindPrevious",
+ "CtrlZ": "Undo",
+ "CtrlY": "Redo",
+ "CtrlC": "Copy",
+ "CtrlX": "Cut",
+ "CtrlK": "CutLine",
+ "CtrlD": "DuplicateLine",
+ "CtrlV": "Paste",
+ "CtrlA": "SelectAll",
+ "CtrlT": "AddTab"
+ "CtrlRightSq": "PreviousTab",
+ "CtrlBackslash": "NextTab",
+ "Home": "Start",
+ "End": "End",
+ "PageUp": "CursorPageUp",
+ "PageDown": "CursorPageDown",
+ "CtrlG": "ToggleHelp",
+ "CtrlR": "ToggleRuler",
+ "CtrlL": "JumpLine",
+ "Delete": "Delete",
+ "Esc": "ClearStatus",
+ "CtrlB": "ShellMode",
+ "CtrlQ": "Quit",
+ "CtrlE": "CommandMode",
+ "CtrlW": "NextSplit",
+
+ // Emacs-style keybindings
+ "Alt-f": "WordRight",
+ "Alt-b": "WordLeft",
+ "Alt-a": "StartOfLine",
+ "Alt-e": "EndOfLine",
+ "Alt-p": "CursorUp",
+ "Alt-n": "CursorDown"
+}
+```
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
You can hold shift with all of these movement actions to select while moving.
-The bindings may be rebound using the `~/.config/micro/bindings.json`
+The 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
+For example, to bind `Ctrl-y` to undo and `Ctrl-z` to redo, you could put the
following in the `bindings.json` file.
```json
}
```
-Here are the defaults:
-
-```json
-{
- "Up": "CursorUp",
- "Down": "CursorDown",
- "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",
- "CtrlD": "DuplicateLine",
- "CtrlV": "Paste",
- "CtrlA": "SelectAll",
- "Home": "Start",
- "End": "End",
- "PgUp": "PageUp",
- "PgDn": "PageDown",
- "CtrlG": "ToggleHelp",
- "CtrlR": "ToggleRuler",
- "CtrlL": "JumpLine",
- "Delete": "Delete",
- "Esc": "ClearStatus",
- "CtrlB": "ShellMode",
- "CtrlQ": "Quit",
- "CtrlE": "CommandMode",
-
- // Emacs-style keybindings
- "Alt-f": "WordRight",
- "Alt-b": "WordLeft",
- "Alt-a": "StartOfLine",
- "Alt-e": "EndOfLine",
- "Alt-p": "CursorUp",
- "Alt-n": "CursorDown",
-}
-
-```
-
-
### 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" flags`: This will replace `search` with `value`.
* `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.
+* `bind key action`: creates a keybinding from key to action. See the sections on
+ keybindings above for more info about what keys and actions are available.
+
+* `vsplit filename`: opens a vertical split with `filename`. If no filename is
+ provided, a vertical split is opened with an empty buffer
+
+* `hsplit filename`: same as `vsplit` but opens a horizontal split instead of
+ a vertical split
+
+* `tab filename`: opens the given file in a new tab.
+
### Options
Micro stores all of the user configuration in its configuration directory.
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.
+ * monokai-tc: this is the monokai colorscheme. It requires true color to
+ look perfect, but the 256 color approximation looks good as well.
+
+ * atom-dark-tc: this colorscheme is based off of Atom's "dark" colorscheme.
+ It requires true color to look good.
+
* `tabsize`: sets the tab size to `option`
default value: `on`
+* `cursorline`: highlight the line that the cursor is on in a different color
+ (the color is defined by the colorscheme you are using)
+
+ default value: `off`
+
* `ruler`: display line numbers
default value: `on`
default value: `on`
+* `savecursor`: remember where the cursor was last time the file was opened and
+ put it there when you open the file again
+
+ default value: `off`
+
+* `saveundo`: when this option is on, undo is saved even after you close a file
+ so if you close and reopen a file, you can keep undoing
+
+ default value: `off`
+
* `scrollmargin`: amount of lines you would like to see above and below the cursor
default value: `3`
default value: `on`
+* `autoclose`: Automatically close `{}` `()` `[]` `""` `''`. Provided by the autoclose plugin
+
+ default value: `on`
+
* `goimports`: Run goimports on save. Provided by the `go` plugin.
default value: `off`