]> git.lizzy.rs Git - micro.git/blob - internal/action/defaults_other.go
Adds CopyLine action, the new default action for CtrlC if cursor has no selection
[micro.git] / internal / action / defaults_other.go
1 // +build !darwin
2
3 package action
4
5 // DefaultBindings returns a map containing micro's default keybindings
6 func DefaultBindings() map[string]string {
7         return map[string]string{
8                 "Up":             "CursorUp",
9                 "Down":           "CursorDown",
10                 "Right":          "CursorRight",
11                 "Left":           "CursorLeft",
12                 "ShiftUp":        "SelectUp",
13                 "ShiftDown":      "SelectDown",
14                 "ShiftLeft":      "SelectLeft",
15                 "ShiftRight":     "SelectRight",
16                 "CtrlLeft":       "WordLeft",
17                 "CtrlRight":      "WordRight",
18                 "AltUp":          "MoveLinesUp",
19                 "AltDown":        "MoveLinesDown",
20                 "CtrlShiftRight": "SelectWordRight",
21                 "CtrlShiftLeft":  "SelectWordLeft",
22                 "AltLeft":        "StartOfTextToggle",
23                 "AltRight":       "EndOfLine",
24                 "AltShiftLeft":   "SelectToStartOfTextToggle",
25                 "ShiftHome":      "SelectToStartOfTextToggle",
26                 "AltShiftRight":  "SelectToEndOfLine",
27                 "ShiftEnd":       "SelectToEndOfLine",
28                 "CtrlUp":         "CursorStart",
29                 "CtrlDown":       "CursorEnd",
30                 "CtrlShiftUp":    "SelectToStart",
31                 "CtrlShiftDown":  "SelectToEnd",
32                 "Alt-{":          "ParagraphPrevious",
33                 "Alt-}":          "ParagraphNext",
34                 "Enter":          "InsertNewline",
35                 "CtrlH":          "Backspace",
36                 "Backspace":      "Backspace",
37                 "Alt-CtrlH":      "DeleteWordLeft",
38                 "Alt-Backspace":  "DeleteWordLeft",
39                 "Tab":            "Autocomplete|IndentSelection|InsertTab",
40                 "Backtab":        "CycleAutocompleteBack|OutdentSelection|OutdentLine",
41                 "CtrlO":          "OpenFile",
42                 "CtrlS":          "Save",
43                 "CtrlF":          "Find",
44                 "CtrlN":          "FindNext",
45                 "CtrlP":          "FindPrevious",
46                 "CtrlZ":          "Undo",
47                 "CtrlY":          "Redo",
48                 "CtrlC":          "CopyLine|Copy",
49                 "CtrlX":          "Cut",
50                 "CtrlK":          "CutLine",
51                 "CtrlD":          "DuplicateLine",
52                 "CtrlV":          "Paste",
53                 "CtrlA":          "SelectAll",
54                 "CtrlT":          "AddTab",
55                 "Alt,":           "PreviousTab",
56                 "Alt.":           "NextTab",
57                 "Home":           "StartOfTextToggle",
58                 "End":            "EndOfLine",
59                 "CtrlHome":       "CursorStart",
60                 "CtrlEnd":        "CursorEnd",
61                 "PageUp":         "CursorPageUp",
62                 "PageDown":       "CursorPageDown",
63                 "CtrlPageUp":     "PreviousTab",
64                 "CtrlPageDown":   "NextTab",
65                 "CtrlG":          "ToggleHelp",
66                 "Alt-g":          "ToggleKeyMenu",
67                 "CtrlR":          "ToggleRuler",
68                 "CtrlL":          "command-edit:goto ",
69                 "Delete":         "Delete",
70                 "CtrlB":          "ShellMode",
71                 "CtrlQ":          "Quit",
72                 "CtrlE":          "CommandMode",
73                 "CtrlW":          "NextSplit",
74                 "CtrlU":          "ToggleMacro",
75                 "CtrlJ":          "PlayMacro",
76                 "Insert":         "ToggleOverwriteMode",
77
78                 // Emacs-style keybindings
79                 "Alt-f": "WordRight",
80                 "Alt-b": "WordLeft",
81                 "Alt-a": "StartOfText",
82                 "Alt-e": "EndOfLine",
83                 // "Alt-p": "CursorUp",
84                 // "Alt-n": "CursorDown",
85
86                 // Integration with file managers
87                 "F2":  "Save",
88                 "F3":  "Find",
89                 "F4":  "Quit",
90                 "F7":  "Find",
91                 "F10": "Quit",
92                 "Esc": "Escape",
93
94                 // Mouse bindings
95                 "MouseWheelUp":   "ScrollUp",
96                 "MouseWheelDown": "ScrollDown",
97                 "MouseLeft":      "MousePress",
98                 "MouseMiddle":    "PastePrimary",
99                 "Ctrl-MouseLeft": "MouseMultiCursor",
100
101                 "Alt-n":        "SpawnMultiCursor",
102                 "Alt-m":        "SpawnMultiCursorSelect",
103                 "AltShiftUp":   "SpawnMultiCursorUp",
104                 "AltShiftDown": "SpawnMultiCursorDown",
105                 "Alt-p":        "RemoveMultiCursor",
106                 "Alt-c":        "RemoveAllMultiCursors",
107                 "Alt-x":        "SkipMultiCursor",
108         }
109 }