keyboard: replace all similar pages
[sheet.git] / less.eng.inc.pl
1 use utf8;
2
3 {
4 # less v418
5 title => 'Less',
6 version => '1.1',
7 description => [
8         "Default bindings of the less pager.",
9         "Clearly shows how much it's more than more.",
10 ],
11 keywords => [qw' less keys pager more options '],
12 rows => [1, 0],
13
14 key => {
15         "\e"=> "alt<>/meta",
16
17         'b' => "page up",
18         'd' => 'scroll down',
19         'f' => "page down",
20         'F' => "follow\nForward Forever",
21         'g' => "(first) line",
22         'G' => "last line",
23         'h' => "help",
24         'j' => "<down>",
25         'k' => "<up>",
26         'm' => "mark pos<>ition",
27         'n' => "next find",
28         'N' => "prev find",
29         'p' => "reset position\nbeginning or Percentage",
30         'q' => "quit",
31         'r' => "redraw",
32         'R' => "refresh",
33         's' => "save to file",
34         't' => "next tag",
35         'T' => "prev tag",
36         'u' => 'scroll up',
37         'v' => "edit",
38         'V' => "version",
39         'w' => "page up and set window",
40         '^x'=> "emacs aliases",
41         'z' => "set page down",
42
43         '!' => "shell command",
44         '|' => "pipe till mark",
45         ':' => "com<>mand",
46         '/' => "find",
47         '?' => "find rev.",
48         '&' => "filter match<>es",
49         "'" => "goto mark",
50         '-' => "toggle option",
51         '_' => "show option",
52         '=' => "file name",
53         '+' => "initial cmd",
54
55         '(' => "closing",
56
57         "^[\e"=> "noop",
58         '^[n' => "any next find",
59         '^[N' => "any prev find",
60         '^[u' => "mark search\nUndo",
61         '^[(' => "scroll left",
62         '^[)' => "scroll right",
63
64         ":\e"=> "noop",
65         ':d' => "drop file",
66         ':e' => "open file",
67         ':n' => "next file",
68         ':p' => "prev file",
69         ':x' => "first file",
70
71         "-\e"=> "noop",
72         '-a' => "advance find page",
73         '-b' => "buffer space",
74         '-B' => "static buffer for pipes",
75         '-c' => "clear on scroll",
76         '-d' => "dumb term<>inal",
77         '-D' => "dos colours",
78         '-e' => "exit after eof",
79         '-E' => "exit at eof",
80         '-f' => "force open",
81         '-F' => "exit if 1 page",
82         '-g' => "hilight last match",
83         '-h' => "scroll back limit",
84         '-i' => "ignore lower<>c<>ase",
85         '-I' => "ignore case",
86         '-j' => "top offset",
87         '-J' => "status column",
88         '-k' => "key bind<>ing<>s",
89         '-L' => qq[ignore <span style="font-variant:small-caps">lesso<>pen</span> filter],
90         '-m' => "med. promp<>t tog<>gle",
91         '-M' => "long promp<>t tog<>gle",
92         '-n' => "count line num<>ber<>s",
93         '-N' => "show line n<>um<>ber<>s",
94         '-o' => "stdin to log",
95         '-O' => "log over<>wr<>ite",
96         '-p' => "initial search",
97         '-P' => "status line\nPrompt",
98         '-q' => "no info bell\nQuiet",
99         '-Q' => "no warn bell\nQuiet!",
100         '-r' => "raw chars",
101         '-R' => "ansi chars",
102         '-s' => "squeeze blank lines",
103         '-S' => "no line wrap",
104         '-t' => "find tag",
105         '-T' => "tags file",
106         '-u' => 'parse \b \r',
107         '-U' => 'escape \t \b \r',
108         '-w' => "hilight page d<>own",
109         '-W' => "hilight forw<>ard",
110         '-x' => "tab stops",
111         '-X' => "no termcap init",
112         '-y' => "scroll limit fw<>d",
113         '-z' => "page size",
114         '-"' => "shell quotes",
115         '-~' => "outside tildes toggle",
116         '-#' => "col shift",
117         '--' => "option name",
118         '-+' => "reset option",
119 },
120
121 mode => {
122         ''   => 'normal pager',
123         '^[' => 'escape keys (hold meta/alt)',
124         '-'  => 'flag identifiers',
125         ':'  => 'colon commands',
126 },
127
128 flag => {
129         g1 => [info   => 'Temporary message display (or related option).'],
130         g2 => [move   => 'Regular file position panning (or option).'],
131         g3 => [jump   => 'Other file position manipulation (").'],
132         g4 => [search => 'Go to matching content (").'],
133         g7 => [file   => 'Alter open file buffer (").'],
134         g8 => [misc   => 'Other commands and options.'],
135
136         arg  => ["key<arg>" => "Commands with a dot need a char argument afterwards."],
137         more => [more => "A small subset is compatible with `more`."],
138 },
139
140 def => {
141         '' => {
142                 "\e"=> 'g7 mode^[',
143
144                 'b' => 'g2 more',
145                 '^b'=> '=b',
146                 'd' => 'g2 more',
147                 '^d'=> '=d',
148                 'e' => '=j',
149                 '^e'=> '=j',
150                 'f' => 'g2 more',
151                 '^f'=> '=f',
152                 'F' => 'g7',
153                 'g' => 'g2',
154                 '^g'=> '==',
155                 'G' => 'g2',
156                 'h' => 'g7 more',
157                 'H' => '=h',
158                 'j' => 'g2',
159                 'k' => 'g2',
160                 '^k'=> '=k',
161                 '^l'=> '=r', # more
162                 'm' => 'g3 arg',
163                 '^m'=> '=j',
164                 'n' => 'g4 more',
165                 'N' => 'g4',
166                 '^n'=> '=j',
167                 'p' => 'g2',
168                 '^p'=> '=k',
169                 'q' => 'g8 more',
170                 'Q' => '=q',
171                 'r' => 'g1',
172                 '^r'=> '=r',
173                 'R' => 'g1',
174                 's' => 'g8 arg',
175                 't' => 'g4',
176                 'T' => 'g4',
177                 'u' => 'g2',
178                 '^u'=> '=u',
179                 'v' => 'g8 linkvi more',
180                 '^v'=> '=f',
181                 'V' => 'g1',
182                 'w' => 'g2',
183                 '^x'=> 'g8 arg mode^x',
184                 'y' => '=k',
185                 '^y'=> '=k',
186                 'z' => 'g2 more',
187
188                 '!' => 'g8 more',
189                 '|' => 'g8 arg',
190                 ':' => 'g8 arg mode:',
191                 '/' => 'g4 arg more',
192                 '?' => 'g4 arg',
193                 '%' => '=p',
194                 '&' => 'g4 arg',
195                 "'" => 'g3 arg',
196                 '-' => 'g8 arg mode-',
197                 '_' => 'g1 arg mode-',
198                 '=' => 'g1 more',
199                 '+' => 'g7',
200
201                 '(' => 'g4',
202                 '<' => '=g',
203                 '>' => '=G',
204         },
205
206         '^[' => { # esc
207                 "\e"=> 'g7 mode',
208                 'n' => 'g4',
209                 'N' => 'g4',
210                 'u' => 'g1',
211                 'v' => '=b',
212                 '(' => 'g2',
213                 ')' => 'g2',
214                 '<' => '=g',
215                 '>' => '=G',
216         },
217
218         #'^x' => {
219         #       "\e"=> 'g7 mode',
220         #       '^x' => "='",
221         #       '^v' => '=:e',
222         #},
223
224         ':' => {
225                 "\e"=> 'g7 mode',
226                 'd' => 'g7',
227                 'e' => 'g7',
228                 'f' => '==',
229                 'n' => 'g7 more',
230                 'p' => 'g7 more',
231                 'q' => '=q',
232                 'Q' => '=:q',
233                 'x' => 'g7',
234         },
235
236         '-' => {
237                 "\e"=> 'g7 mode',
238                 'a' => 'g4',
239                 'b' => 'g7 arg',
240                 'B' => 'g7',
241                 'c' => 'g2',
242                 'd' => 'g8',
243                 'D' => 'g8 arg ext',
244                 'e' => 'g7',
245                 'E' => 'g7',
246                 'f' => 'g7',
247                 'F' => 'g7',
248                 'g' => 'g4',
249                 'h' => 'g2 arg',
250                 'i' => 'g4',
251                 'I' => 'g4',
252                 'j' => 'g3 arg',
253                 'J' => 'g1',
254                 'k' => 'g8 arg',
255                 'L' => 'g8',
256                 'm' => 'g1',
257                 'M' => 'g1',
258                 'n' => 'g8',
259                 'N' => 'g1',
260                 'o' => 'g8 arg',
261                 'O' => 'g8 arg',
262                 'p' => 'g4 arg',
263                 'P' => 'g1 arg',
264                 'q' => 'g8',
265                 'Q' => 'g8',
266                 'r' => 'g8',
267                 'R' => 'g8',
268                 's' => 'g8',
269                 'S' => 'g8',
270                 't' => 'g4 arg',
271                 'T' => 'g4 arg',
272                 'u' => 'g8',
273                 'U' => 'g8',
274                 'V' => '=V',
275                 'w' => 'g8',
276                 'W' => 'g8',
277                 'x' => 'g8 arg',
278                 'X' => 'g8',
279                 'y' => 'g2 arg',
280                 'z' => 'g2 arg',
281                 '"' => 'g8 arg',
282                 '~' => 'g8',
283                 '#' => 'g2 arg',
284                 '-' => 'g8 arg',
285                 '+' => 'g8 arg',
286         },
287 },
288 }