vi: reindent key hash in english include
[sheet.git] / vi.inc.pl
1 use utf8;
2 {
3
4 '' => {
5         '~' => "co undo",
6         '!' => "co argm undo modec",
7         '@' => "co arg undo",
8         '#' => "pm ext vim6",
9         '$' => "pm",
10         '%' => "pm",
11         '^' => "pm",
12         '&' => "co undo",
13         '*' => "pm ext vim6",
14         '(' => 'pm',
15         ')' => 'pm',
16         '_' => "pm",
17         '+' => "pm",
18         '`' => "pm arg",
19         '0' => "pm",
20         '^^'=> "co",
21         '-' => "pm",
22         '=' => 'co argm undo',
23         '?' => "pm arg modec",
24         ';' => "pm",
25         ':' => "co modec",
26         "'" => "pm arg",
27         '"' => 'co arg',
28         '\\' => 'me arg',
29         '^\\' => "mo arg",
30         ',' => "pm",
31         '<' => "co argm undo",
32         '.' => "co undo",
33         '>' => "co argm undo",
34         '/' => "pm arg modec",
35         '[' => "me arg mode[",
36         '{' => "pm",
37         ']' => "me arg mode]",
38         '}' => "pm",
39         '^]'=> "po",
40         '|' => "pm",
41
42         'a' => "mi undo modei",
43         'A' => "mi undo modei",
44         '^a'=> "co undo",
45         'b' => "pm",
46         'B' => "pm",
47         '^b'=> "pm",
48         'c' => "mi argm undo modei",
49         'C' => "mi undo modei",
50         '^c'=> "co",
51         'd' => "co argm undo",
52         'D' => "co undo",
53         '^d'=> "po",
54         'e' => "pm",
55         'E' => "pm",
56         '^e'=> "po",
57         'f' => "pm arg",
58         'F' => "pm arg",
59         '^f'=> "pm",
60         'g' => "me arg modeg",
61         'G' => "pm",
62         '^g'=> "ci",
63         'h' => "pm",
64         'H' => "pm",
65         '^h'=> "=h",
66         'i' => "mi undo modei",
67         'I' => "mi undo modei",
68         '^i'=> "pm ext vim6",
69         'j' => "pm",
70         'J' => "co undo",
71         '^j'=> "=j",
72         'k' => "pm",
73         'K' => "co",
74         'l' => "pm",
75         'L' => "pm",
76         '^l'=> "ci",
77         'm' => "co arg",
78         'M' => "pm",
79         '^m'=> "=+",
80         'n' => "pm",
81         'N' => "pm",
82         '^n'=> "=j",
83         'o' => "mi undo modei",
84         'O' => "mi undo modei",
85         '^o'=> "pm ext vim6",
86         'p' => "co undo",
87         'P' => "co undo",
88         '^p'=> "=k",
89         'q' => "mo arg",
90         'Q' => "mo",
91         '^q'=> "ci", # or ^v
92         'r' => "co arg undo",
93         'R' => "mi undo modei",
94         '^r'=> "co undo ext vim6",
95         's' => "mi undo modei",
96         'S' => "mi undo modei",
97         '^s'=> "ci",
98         't' => "pm arg",
99         'T' => "pm",
100         '^t'=> "po",
101         'u' => "co undo",
102         'U' => "co undo",
103         '^u'=> "po",
104         'v' => "mv modev",
105         'V' => "mv modev",
106         '^v'=> "mv modev ext vim6",
107         'w' => "pm",
108         'W' => "pm",
109         '^w'=> "me arg mode^w",
110         'x' => "co undo",
111         'X' => "co undo",
112         '^x'=> "co undo",
113         'y' => "co argm",
114         'Y' => "co",
115         '^y'=> "po",
116         'z' => "me arg modez",
117         'Z' => "me arg modeZ",
118         '^z'=> "ci",
119 }, # normal mode
120
121 g => {
122         lead => "g",
123
124         "\e"=> "mo mode",
125
126         '~' => "co argm ext vim6",
127         '@' => "co ext vim7 new",
128         '#' => "pm ext vim6",
129         '$' => "pm",
130         '^' => "pm ext vim6",
131         '&' => "co",
132         '*' => "pm ext vim6",
133         '_' => "pm ext vim6",
134         '+' => "co ext vim7 new",
135         '`' => "pm ext vim6 arg",
136         '8' => "ci",
137         '0' => "pm ext vim6",
138         '-' => "co ext vim7 new",
139         '^['=> "mo mode",
140         ']' => "po",
141         '^]'=> "po",
142         ';' => "pm",
143         "'" => "pm ext vim6 arg",
144         '<' => "co ext vim7 new",
145         '?' => "co argm ext vim6",
146         ',' => "pm",
147
148         'a' => "ci",
149         '^a'=> "ci",
150         'd' => "pm ext vim6",
151         'D' => "pm ext vim6",
152         'e' => "pm",
153         'E' => "pm",
154         'f' => "co ext vim6",
155         'F' => "co ext vim7 new",
156         'g' => "pm",
157         '^g'=> "ci",
158         'h' => "mv modev",
159         'H' => "mv modev",
160         '^h'=> "mv modev ext vim6",
161         'i' => "mi undo modei",
162         'I' => "mi undo modei",
163         'j' => "pm ext vim6",
164         'J' => "co",
165         'k' => "pm ext vim6",
166         'm' => "pm ext vim6",
167         'o' => "pm",
168         'p' => "co undo",
169         'P' => "co",
170         'q' => "co argm",
171         'Q' => "mo ext vim6",
172         'r' => "co arg",
173         'R' => "mi undo modei",
174         's' => "ci ext vim6",
175         't' => "po ext vim7 new",
176         'T' => "po ext vim7 new",
177         'u' => "co argm ext vim6", # XXX undo?
178         'U' => "co undo argm ext vim6",
179         'v' => 'mv modev',
180         'V' => "co",
181         'w' => "co argm ext vim7 new",
182         'x' => "co ext vim7 new",
183 }, # mode g
184
185 Z => {
186         lead => "Z",
187
188         "\e"=> "mo mode",
189         '^['=> "=\e",
190
191         'Q' => "co ext vim6",
192         'Z' => "co",
193 }, # mode Z
194
195 z => {
196         lead => "z",
197
198         "\e"=> "mo mode",
199
200         '^' => "po",
201         '+' => "po",
202         '-' => "po",
203         '=' => "co ext vim7 new",
204         '.' => "po",
205         '^['=> "=\e",
206
207         'a' => "co ext vim6 folding",
208         'A' => "co ext vim6 folding",
209         'b' => "po",
210         'c' => "co ext vim6 folding",
211         'C' => "co ext vim6 folding",
212         'd' => "co ext vim6 folding",
213         'D' => "co ext vim6 folding",
214         'e' => "po",
215         'E' => "co ext vim6 folding",
216         'f' => "co argm ext vim6 folding",
217         'F' => "co ext vim6 folding",
218         'g' => "co ext vim7 new",
219         'G' => "co ext vim7 new",
220         'h' => "po",
221         'H' => "po",
222         'i' => "co ext vim6 folding",
223         'j' => "pm ext vim6 folding",
224         'k' => "pm ext vim6 folding",
225         'l' => "po",
226         'L' => "po",
227         '^m'=> "po",
228         'm' => "co ext vim6 folding",
229         'M' => "co ext vim6 folding",
230         'n' => "co ext vim6 folding",
231         'N' => "co ext vim6 folding",
232         'o' => "co ext vim6 folding",
233         'O' => "co ext vim6 folding",
234         'r' => "co ext vim6 folding",
235         'R' => "co ext vim6 folding",
236         's' => "po",
237         't' => "po",
238         'u' => "co arg ext vim7 new",
239         'v' => "co ext vim6 folding",
240         'w' => "co ext vim7 new",
241         'W' => "co ext vim7 new",
242         'x' => "co ext vim6 folding",
243         'X' => "co ext vim6 folding",
244         'z' => "po",
245 }, # mode z
246
247 '[' => {
248         lead => "[",
249
250         "\e"=> "mo mode",
251
252         "`" => "pm ext vim6",
253         '#' => "pm",
254         '(' => "pm",
255         '*' => "=[/",
256         '/' => "pm",
257         "'" => "=[` ^", # ext vim6
258         '{' => "pm",
259         '[' => "pm",
260         '^['=> "=\e",
261         ']' => "pm",
262
263         'c' => "pm",
264         'd' => "ci",
265         'D' => "co",
266         '^d'=> "po",
267         'f' => "=gf",  # deprecated
268         'i' => 'ci',
269         'I' => 'co',
270         '^i'=> 'po',
271         'm' => "pm",
272         'p' => "co",
273         'P' => "co",
274         's' => "po ext vim7 new",
275         'S' => "po ext vim7 new",
276         'z' => "pm ext vim6 folding",
277 }, # mode [
278
279 ']' => {
280         lead => "]",
281
282         "\e"=> "mo mode",
283
284         "`" => "pm ext vim6",
285         '#' => "pm",
286         ')' => "pm",
287         '*' => "=]/",
288         "'" => "=]` ^", # ext vim6
289         '/' => "pm",
290         '[' => "pm",
291         '^['=> "=\e",
292         ']' => "pm",
293         '}' => "pm",
294
295         'c' => "pm",
296         'd' => "ci",
297         'D' => "co",
298         '^d'=> "po",
299         'f' => "=gf",  # deprecated
300         'i' => "ci",
301         'I' => "co",
302         '^i'=> "po",
303         'm' => "pm",
304         'p' => "co",
305         'P' => "=[p",
306         's' => "po ext vim7 new",
307         'S' => "po ext vim7 new",
308         'z' => "pm ext vim6 folding",
309 }, # mode ]
310
311 '^w' => {
312         lead => "ŵ",
313
314         "\e"=> "mo mode",
315
316         '<' => "po",
317         '>' => "po",
318         '^' => "co",
319         '_' => "po",
320         '+' => "po",
321         '-' => "po",
322         '=' => "po",
323         '^['=> "=\e",
324         ']' => "po",
325         '}' => "po",
326         '|' => "po",
327
328         'b' => "po",
329         'c' => "po",
330         '^c'=> "mo mode",
331         'd' => "po",
332         'f' => "co",
333         'F' => "co ext vim7 new",
334         'g' => "me arg mode^wg",
335         'h' => "po",
336         'H' => "po",
337         'i' => "po",
338         'j' => "po",
339         'J' => "po",
340         'k' => "po",
341         'K' => "po",
342         'l' => "po",
343         'L' => "po",
344         'n' => "co",
345         'o' => "po",
346         'p' => "po",
347         'P' => "po",
348         'q' => "co",
349         'r' => "po",
350         'R' => "po",
351         's' => "po",
352         'S' => "=^ws",
353         't' => "po",
354         'v' => "po",
355         'w' => "po",
356         'W' => "po",
357         'x' => "po",
358         'z' => "po",
359 }, # mode ^w
360
361 '^wg' => {
362         lead => "ŵg",
363
364         "\e"=> "mo mode",
365         '^['=> "=\e",
366         ']' => "po",
367         '}' => "po",
368         '^]'=> "po",
369         'f' => "co ext vim7 new",
370         'F' => "co ext vim7 new",
371 }, # mode ^w g
372
373 v => {
374         "\e"=> "mo mode",
375
376         '!' => "co",
377         ':' => "mo modec",
378         '<' => "co",
379         '=' => 'co undo',
380         '>' => 'co',
381         '~' => "co ext vim6",
382         '^['=> "=\e",
383         '^]'=> "po",
384         '^\\'=>'^\\',
385
386         'a' => 'me modeva arg ext vim6',
387         'A' => 'mi modei ext vim6',
388         'c' => 'mi modei ext vim6',
389         'C' => 'mi modei ext vim6',
390         '^c'=> "mo mode",
391         'd' => "co ext vim6",
392         'D' => "co ext vim6",
393         'g' => "me arg modevg",
394         '^g'=> "mv",
395         '^h'=> 'co',
396         'i' => "me modeva arg ext vim6",
397         'I' => "mi modei ext vim6", # block
398         'J' => "co",
399         'K' => 'co',
400         'o' => "pm",
401         'O' => "pm",
402         '^o'=> "mv",
403         'p' => 'co',
404         'P' => 'co',
405         '^q'=> "=^q",
406         'r' => 'co arg',
407         'R' => "=vS",  # "might change in future"
408         '^s'=> "=^s",
409         's' => "=vc",
410         'S' => 'mi modei ext vim6',
411         'u' => "co ext vim6",
412         'U' => "co ext vim6",
413         'v' => "mv",
414         'V' => "mv",
415         '^v'=> "mv ext vim6",
416         'x' => "=vd",
417         'X' => "=vD",
418         'y' => "co",
419         'Y' => "co",
420
421         map { $_ => "=$_" } qw(
422                 b B ^b ^d e E ^e f F ^f G h H ^i j ^j k l L m M ^m
423                 n N ^n ^p q ^s t T ^u w W ^w ^y z ^z
424                 ` # $ % ^ * ( 0 ) [ { ] } ; / ? + - _ |
425         ) # a lot like normal mode
426 }, # mode v
427
428 vg => {
429         lead => "g",
430
431         "\e"=> "mv modev",
432
433         '^['=> "=\e",
434         '?' => "co ext vim6",
435         'J' => 'co ext vim6',
436         'q' => "co ext vim6",
437         'v' => "=gv",
438         'w' => 'co ext vim7 new',
439 }, # mode v g
440
441 va => {
442         "\e"=> "mv modev",
443
444         '(' => "=vab",
445         ')' => "=vab",
446         '`' => "=va'",
447         "'" => 'pm ext vim7 new',
448         '"' => "=va'",
449         '<' => 'pm ext vim6',
450         '>' => "=va&lt;",
451         '[' => 'pm ext vim6',
452         '{' => "=vaB",
453         '^['=> "=\e",
454         ']' => "=va[",
455         '}' => "=vaB",
456
457         'b' => 'pm ext vim6',
458         'B' => 'pm ext vim6',
459         'p' => 'pm ext vim6',
460         's' => 'pm ext vim6',
461         't' => 'pm ext vim7 new',
462         'w' => 'pm ext vim6',
463         'W' => 'pm ext vim6',
464 }, # mode v a
465
466 #c => {
467 #       desc => "command-line mode",
468 #
469 #       '^_' => "=i^_",
470 #       '^^' => "=i^^",
471 #       '^\\'=>'^\\',
472 #       '^a' => "", #todo
473 #       '^b' => "po",
474 #       '^c' => "=i^c",
475 #       '^d' => "", #todo
476 #       '^e' => "po",
477 #       '^h' => "=i^h",
478 #       '^j' => "co",
479 #       '^k' => "=i^k",
480 #       '^l' => "", #todo
481 #       '^n' => "", #todo
482 #       '^p' => "", #todo
483 #       '^r' => "=i^r", # and then some...
484 #            ## ["co arg ext vim6"],
485 #       '^q' => "=^q",
486 #       '^u' => "=i^u",
487 #       '^v' => "=i^v",
488 #       '^w' => "=i^w",
489 #       '^y' => "co",
490 #}, # mode c
491
492 i => {
493         "\e" => "mo mode",
494
495         '^@' => "co",
496         '^^' => "co ext vim6",
497         '^['=> "=\e",
498         '^]' => "co ext vim6",
499         '^_' => "co ext vim6",
500         '^\\'=>'^\\',
501
502         '^a' => "co ext vim6",
503         '^b' => "no ext vim6",
504         '^c' => "mo mode",
505         '^d' => 'co',
506         '^e' => "co ext vim6",
507         '^f' => 'co',
508         '^g' => "me modei^g arg",
509         '^h' => "co",
510         '^i' => "co",
511         '^j' => "co",
512         '^k' => 'co arg arg ext vim6 linkdigraphs',
513         '^l' => "mo mode ext vim6",  # insertmode only
514         '^m' => "co",
515         '^n' => "pm ext vim6",
516         '^o' => 'co',
517         '^p' => "pm ext vim6",
518         '^q' => "=^q",  # or i^v
519         '^r' => 'co arg ext vim6',
520         '^s' => "=^s",
521         '^t' => "co",
522         '^u' => "co",
523         '^v' => 'co linkcharset',
524         '^w' => "co",
525         '^x' => 'me arg modei^x ext vim6',
526         '^y' => "co ext vim6",
527         '^z' => "ci ext vim6",  # insertmode only
528 }, # modei
529
530 'i^g' => {
531         lead => "ĝ",
532
533         "\e"=> 'mi modei',
534
535         'k' => 'pm',
536         'j' => 'pm',
537         'u' => 'co',
538         # other keys (even esc) are not recognized
539 }, # mode i ^g
540
541 'i^x' => {
542         lead => "x̂",
543
544         "\e" => "mo mode", # yes, it really leaves insert mode
545
546         '^['=> "=\e",
547         '^]' => 'co',
548         '^d' => 'co',
549         '^e' => "po",
550         '^f' => 'co',
551         '^i' => 'co',
552         '^k' => 'co',
553         '^l' => 'co',
554         '^n' => 'co',
555         '^o' => 'co ext vim7 new',
556         '^p' => 'co',
557         '^s' => 'co',
558          's' => "=i^x^s",
559         '^t' => 'co',
560         '^u' => 'co ext vim7 new',
561         '^v' => 'co',
562         '^y' => "po",
563 }, # mode i ^x
564
565 # XXX ex mode if you want to go completely wild
566 }