7 "Reference sheet of default key bindings for GNU readline,",
8 "used for line-editing in most Unix software, notably Emacs and Bash.",
10 keywords => [qw( readline gnu bash emacs editing curses )],
14 '+<' => "history start",
15 '+>' => "history end",
16 '+?' => "list complet<>ion<>s",
19 '+#' => "prefix comm<>en<>t",
20 '+&' => "tilde expand",
21 '+*' => "complet<>e all",
22 '+.' => "insert last",
25 '+\\'=> "delete whitesp<>ace",
27 '^+]'=> "rev find char",
30 '+~' => "user<>name exp<>and",
32 '+@' => "host<>name exp<>and",
33 '+$' => "variable expand",
34 '+^' => "history expand",
35 '+/' => "filename expand",
37 '^a' => "begin of line",
38 '^b' => "char back<>w<>ard<>s",
39 '+b' => "word back<>w<>ard<>s",
40 '^c' => "cancel comm<>and",
41 '+c' => "capital<>ise word",
42 '^d' => "delete char",
43 '+d' => "delete word rem<>ain<>der",
44 # '^e' => "emacs mode",
45 '^e' => "end of line",
46 '^f' => "char forward",
47 '+f' => "word forward",
48 '^g' => "abort cmd, bell",
49 '^h' => "back<>space",
50 '^+h'=> "delete bound word",
51 '^i' => "auto<>complet<>e\n(tab)",
53 '^k' => "delete till eol",
54 '^l' => "clear screen",
55 '+l' => "lowcase word",
56 '^m' => "enter line\n(enter)",
57 '^n' => "history next",
58 '+n' => "match history",
59 '^o' => "enter and next",
60 '^p' => "history back",
61 '+p' => "rev match history",
62 # '^q' => "\nQuote", #TODO fix partial override
63 '^r' => "reverse history",
64 '+r' => "full undo\nRevert",
65 '^s' => "search history",
66 '^t' => "move char forw<>ard\nTranspose char",
67 '+t' => "move word forw<>ard\nTranspose word",
68 '^u' => "delete till bol", # unix
69 '+u' => "upcase word",
70 '^v' => "verbat<>im char",
71 '^w' => "delete word", # unix
74 '+y' => "rotate yank",
76 '^z' => "back<>ground",
78 '^x(' => "start macro",
80 '^xe' => "run macro\nExecute",
82 '^x^r' => "reload inputrc",
83 '^x^x' => "swap cursor\neXchange",
84 '^x^v' => "shell version",
86 # globally label escape as meta key
93 '^x' => "emacs ctrl-x bindings",
97 g1 => [info => "Info command: shows/does something without altering anything."],
98 g2 => [motion => "Move the cursor."],
99 g4 => [history => "Replace contents involving kill ring, undo, or command history."],
100 g6 => [change => "Alter current text (filtering or completion)."],
101 g7 => [delete => "Remove text."],
102 g8 => [misc => "Miscellaneous commands."],
103 g9 => [mode => "Additional key functionality (click to view)."],
105 arg => ["key<arg>" => "Commands with a dot need a char argument afterwards."],
106 'v21 new' => [">v2.0" => "Unavailable before readline version 2.1 (1997)."],
107 'xbash ext' => ["bash" => "Default assignment in Bash shells, but not common readline."],
115 '+=' => '=+?', #TODO: v21 # emacs, not in v2.0
119 '^@' => 'g8 v21', # not in v2.0
121 '+#' => 'g6 v21', # not in v2.0
123 '+*' => 'g6 v21', # not in v2.0
125 '+~' => '=+&', # emacs
130 '^]' => 'g2 arg v21', # not in v2.0
131 '^+]'=> 'g2 arg v21', # not in v2.0
135 '+~' => 'g6 xbash', # common emacs => '=+&'
156 '^+h'=> 'g7 ring', #TODO
160 '^+j'=> 'g9', #TODO: mode^+j
182 '^x' => 'g9 arg mode^x',
197 '^e' => 'g6 xbash linkvi',
202 '^x' => 'g2 v21', # not in v2.0