link to current page source in footers
[sheet.git] / readline.inc.pl
1 use utf8;
2
3 '' => {
4         desc => "emacs mode",
5
6         '+<' => ["history start", 'co'],
7         '+=' => '+?', #TODO: new # emacs, not in v2.0
8         '+>' => ["history end", 'co'],
9         '^?' => '^h',
10         '+?' => ["list complet$sign{_}ion$sign{_}s", 'ci'],
11         '^@' => ["set mark", 'mv new'], # not in v2.0
12
13         '+#' => ["prefix comm$sign{_}en$sign{_}t", 'mi new'], # not in v2.0
14         '+&' => ["tilde expand", 'mi'],
15         '+*' => ["complet$sign{_}e all", 'mi new'], # not in v2.0
16         '+.' => ["insert last", 'co'],
17         '+~' => '+&amp;', # emacs
18
19         '^[' => ["meta", 'mv'],
20         '^+['=> '^i',
21         '+\\'=> ["delete whitesp$sign{_}ace", 'mo'],
22         '^]' => ["find char", 'pm arg new'], # not in v2.0
23         '^+]'=> ["rev find char", 'pm arg new'], # not in v2.0
24         '^_' => ["undo", 'co'],
25         '+_' => '+.',
26
27         '+~' => ["user$sign{_}name exp$sign{_}and", 'mi ext'], # common emacs => '+&'
28         '+!' => ["cmd expand", 'mi ext'],
29         '+@' => ["host$sign{_}name exp$sign{_}and", 'mi ext'],
30         '+$' => ["variable expand", 'mi ext'],
31         '+^' => ["history expand", 'co ext'],
32         '+/' => ["filename expand", 'ci ext'],
33
34         '^a' => ["begin of line", 'pm'],
35         '^b' => ["char back$sign{_}w$sign{_}ard$sign{_}s", 'pm'],
36         '+b' => ["word back$sign{_}w$sign{_}ard$sign{_}s", 'pm'],
37         '^c' => ["cancel comm$sign{_}and", 'mv ext'],
38         '+c' => ["capital$sign{_}ise word", 'mi'],
39         '^d' => ["delete char", 'mo'],
40         '+d' => ["delete word rem$sign{_}ain$sign{_}der", 'mo ring'],
41 #       '^e' => ["emacs mode", 'me'],
42         '^e' => ["end of line", 'pm'],
43         '^f' => ["char forward", 'pm'],
44         '+f' => ["word forward", 'pm'],
45         '^g' => ["abort cmd, bell", 'mv'],
46         '^+g'=> '^g',
47         '^h' => ["back$sign{_}space", 'mo'],
48         '^+h'=> ["delete bound word", 'mo ring'], #TODO
49         '^i' => ["auto$sign{_}complet$sign{_}e", 'mi', '(tab)'],
50         '^+i'=> '^v^i',
51         '^j' => '^m',
52         '^+j'=> ["vim mode", 'me'], #TODO: mode^+j
53         '^k' => ["delete till eol", 'mo ring'],
54         '^l' => ["clear screen", 'ci'],
55         '+l' => ["lowcase word", 'mi'],
56         '^m' => ["enter line", 'co', '(enter)'],
57         '^+m'=> '^+j',
58         '^n' => ["history next", 'co'],
59         '+n' => ["match history", 'co'],
60         '^o' => ["enter and next", 'co ext'],
61         '^p' => ["history back", 'co'],
62         '+p' => ["rev match history", 'co'],
63         '^q' => '^v', # Quote
64         '^r' => ["reverse history", 'co'],
65         '+r' => ["full undo", 'co', 'Revert'],
66         '^+r'=> '+r',
67         '^s' => ["search history", 'co'],
68         '^t' => ["move char forw$sign{_}ard", 'mi', 'Transpose char'],
69         '+t' => ["move word forw$sign{_}ard", 'mi', 'Transpose word'],
70         '^u' => ["delete till bol", 'mo ring'], # unix
71         '+u' => ["upcase word", 'mi'],
72         '^v' => ["verbatim char", 'mv'],
73         '^w' => ["delete word", 'mo ring'], # unix
74         '^x' => ["extend$sign{_}ed", 'me arg mode^x'],
75         '^y' => ["yank top", 'co'],
76         '+y' => ["rotate yank", 'co ring'],
77         '^+y'=> ["yank arg"],
78         '^z' => ["back$sign{_}ground", 'mv ext'],
79 },
80
81 '^x' => {
82         lead => $ascii ? "'x"  : "x̂",
83         desc => 'emacs ctrl-x bindings',
84
85         '('  => ["start macro", 'mv'],
86         ')'  => ["end macro", 'mv'],
87         'e'  => ["run macro", 'mv', 'Execute'],
88         '^e' => ["editor", 'mi ext linkvim'],
89         '^g' => '^g',
90         '^h' => '^u',
91         '^r' => ["reload inputrc", 'mv'],
92         '^u' => '^_',
93         '^x' => ["swap cursor", 'pm new', 'eXchange'], # not in v2.0
94         '^v' => ["shell version", 'ci ext'],
95         '^?' => '^x^h',
96 },
97