X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=runtime%2Fhelp%2Fhelp.md;h=ff16f13a2c03186cfdc1681a43a2cd5ca15f2aca;hb=cd6389c49ee54858f10c959256ef144c4db965d1;hp=4a9d113a234dc4bde27f521f93e57361f95c6f65;hpb=3d6eba376dd2a362704c57c014960650fa302cbd;p=micro.git diff --git a/runtime/help/help.md b/runtime/help/help.md index 4a9d113a..ff16f13a 100644 --- a/runtime/help/help.md +++ b/runtime/help/help.md @@ -18,37 +18,73 @@ You can move the cursor around with the arrow keys and mouse. ### Keybindings -These are the default keybindings, along with their actions. - - -#### 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 -* 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", + "Home": "Start", + "End": "End", + "PageUp": "CursorPageUp", + "PageDown": "CursorPageDown", + "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" +} +``` 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 @@ -56,73 +92,19 @@ 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. -The buffer 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 { - "CtrlY": "Undo", - "CtrlZ": "Redo" + "CtrlY": "Undo", + "CtrlZ": "Redo" } ``` -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", - "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. @@ -145,6 +127,9 @@ Here are the possible commands that you can use. * `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. + ### Options Micro stores all of the user configuration in its configuration directory. @@ -160,18 +145,18 @@ Here are the options that you can set: 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 + 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. + * 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. * `tabsize`: sets the tab size to `option` @@ -190,24 +175,38 @@ Here are the options that you can set: default value: `on` -* `tabsToSpaces`: use spaces instead of tabs +* `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` + default value: `on` * `ruler`: display line numbers - default value: `on` + default value: `on` * `statusline`: display the status line at the bottom of the screen - 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 -* `scrollSpeed`: amount of lines to scroll + default value: `3` + +* `scrollspeed`: amount of lines to scroll for one scroll event default value: `2` @@ -218,15 +217,15 @@ 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` + default value: `on` * `goimports`: Run goimports on save. Provided by the `go` plugin. - default value: `off` + default value: `off` * `gofmt`: Run gofmt on save. Provided by the `go` plugin. - default value: `on` + default value: `on` 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