+You can also bind some mouse buttons (they may be bound to normal actions or
+mouse actions)
+
+```
+MouseLeft
+MouseMiddle
+MouseRight
+MouseWheelUp
+MouseWheelDown
+MouseWheelLeft
+MouseWheelRight
+```
+
+# Default keybinding configuration.
+
+```json
+{
+ "Up": "CursorUp",
+ "Down": "CursorDown",
+ "Right": "CursorRight",
+ "Left": "CursorLeft",
+ "ShiftUp": "SelectUp",
+ "ShiftDown": "SelectDown",
+ "ShiftLeft": "SelectLeft",
+ "ShiftRight": "SelectRight",
+ "AltLeft": "WordLeft",
+ "AltRight": "WordRight",
+ "AltUp": "MoveLinesUp",
+ "AltDown": "MoveLinesDown",
+ "AltShiftRight": "SelectWordRight",
+ "AltShiftLeft": "SelectWordLeft",
+ "CtrlLeft": "StartOfLine",
+ "CtrlRight": "EndOfLine",
+ "CtrlShiftLeft": "SelectToStartOfLine",
+ "ShiftHome": "SelectToStartOfLine",
+ "CtrlShiftRight": "SelectToEndOfLine",
+ "ShiftEnd": "SelectToEndOfLine",
+ "CtrlUp": "CursorStart",
+ "CtrlDown": "CursorEnd",
+ "CtrlShiftUp": "SelectToStart",
+ "CtrlShiftDown": "SelectToEnd",
+ "Alt-{": "ParagraphPrevious",
+ "Alt-}": "ParagraphNext",
+ "Enter": "InsertNewline",
+ "CtrlH": "Backspace",
+ "Backspace": "Backspace",
+ "Alt-CtrlH": "DeleteWordLeft",
+ "Alt-Backspace": "DeleteWordLeft",
+ "Tab": "Autocomplete|IndentSelection|InsertTab",
+ "Backtab": "OutdentSelection|OutdentLine",
+ "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",
+ "Alt,": "PreviousTab",
+ "Alt.": "NextTab",
+ "Home": "StartOfLine",
+ "End": "EndOfLine",
+ "CtrlHome": "CursorStart",
+ "CtrlEnd": "CursorEnd",
+ "PageUp": "CursorPageUp",
+ "PageDown": "CursorPageDown",
+ "CtrlPageUp": "PreviousTab",
+ "CtrlPageDown": "NextTab",
+ "CtrlG": "ToggleHelp",
+ "Alt-g": "ToggleKeyMenu",
+ "CtrlR": "ToggleRuler",
+ "CtrlL": "command-edit:goto ",
+ "Delete": "Delete",
+ "CtrlB": "ShellMode",
+ "CtrlQ": "Quit",
+ "CtrlE": "CommandMode",
+ "CtrlW": "NextSplit",
+ "CtrlU": "ToggleMacro",
+ "CtrlJ": "PlayMacro",
+ "Insert": "ToggleOverwriteMode",
+
+ // Emacs-style keybindings
+ "Alt-f": "WordRight",
+ "Alt-b": "WordLeft",
+ "Alt-a": "StartOfLine",
+ "Alt-e": "EndOfLine",
+
+ // Integration with file managers
+ "F2": "Save",
+ "F3": "Find",
+ "F4": "Quit",
+ "F7": "Find",
+ "F10": "Quit",
+ "Esc": "Escape",
+
+ // Mouse bindings
+ "MouseWheelUp": "ScrollUp",
+ "MouseWheelDown": "ScrollDown",
+ "MouseLeft": "MousePress",
+ "MouseMiddle": "PastePrimary",
+ "Ctrl-MouseLeft": "MouseMultiCursor",
+
+ "Alt-n": "SpawnMultiCursor",
+ "Alt-m": "SpawnMultiCursorSelect",
+ "Alt-p": "RemoveMultiCursor",
+ "Alt-c": "RemoveAllMultiCursors",
+ "Alt-x": "SkipMultiCursor"
+}
+```
+
+## Final notes
+
+Note: On some old terminal emulators and on Windows machines, `CtrlH` should be
+used for backspace.
+
+Additionally, alt keys can be bound by using `Alt-key`. For example `Alt-a` or
+`Alt-Up`. Micro supports an optional `-` between modifiers like `Alt` and
+`Ctrl` so `Alt-a` could be rewritten as `Alta` (case matters for alt bindings).
+This is why in the default keybindings you can see `AltShiftLeft` instead of
+`Alt-ShiftLeft` (they are equivalent).
+
+Please note that terminal emulators are strange applications and micro only receives
+key events that the terminal decides to send. Some terminal emulators may not
+send certain events even if this document says micro can receive the event. To see
+exactly what micro receives from the terminal when you press a key, run the `> raw`
+command.