]> git.lizzy.rs Git - micro.git/blobdiff - runtime/help/help.md
Make CursorPageUp and CursorPageDown default
[micro.git] / runtime / help / help.md
index 4a9d113a234dc4bde27f521f93e57361f95c6f65..ff16f13a2c03186cfdc1681a43a2cd5ca15f2aca 100644 (file)
@@ -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