perl: preliminary v5.20
[sheet.git] / vi.eng.inc.pl
1 use utf8;
2
3 {
4 key => {
5
6 "\e"=> ["normal mode"],
7 '~' => ["case toggle"],
8 '!' => ["filt$sign{_}er lines"],
9 '@' => ["play macro"],
10 '#' => ["rev. find word"],
11 '$' => ["eol"],
12 '%' => ["goto match"],
13 '^' => ['"soft" bol'],
14 '&' => [":s rep$sign{_}eat"],
15 '*' => ["find word"],
16 '(' => ["begin senten$sign{_}ce"],
17 ')' => ["end senten$sign{_}ce"],
18 '_' => ['"soft" bol down'],
19 '+' => ["next line"],
20 '`' => ["goto mark"],
21 '0' => ['"hard" bol'],
22 '^^'=> ["edit alt. file"],
23 '-' => ["prev line"],
24 '=' => ["re$sign{_}ind$sign{_}ent"],
25 '?' => ["find rev."],
26 ';' => ["repeat t/f/T/F"],
27 ':' => ["ex cmd line"],
28 "'" => ["goto mark bol"],
29 '"' => ["use reg$sign{_}ister"],
30 '\\' => ["reser$sign{_}ved"],
31 '^\\' => ["to mode/$sign{_}ext$sign{_}ens$sign{_}ion$sign{_}s"],
32 ',' => ["reverse t/T/f/F"],
33 '<' => ["un$sign{_}ind$sign{_}ent"],
34 '.' => ["repeat last cmd"],
35 '>' => ["ind$sign{_}ent"],
36 '/' => ["find"],
37 '[' => ["move back$sign{_}ward$sign{_}s"],
38 '{' => ["begin parag."],
39 ']' => ["move forw$sign{_}ard"],
40 '}' => ["end parag."],
41 '^]'=> ["go to tag"],
42 '|' => ["goto (1st) col"],
43
44 'a' => ["app$sign{_}end"],
45 'A' => ["app$sign{_}end to eol"],
46 '^a'=> ["incr$sign{_}ement", "Add one"],
47 'b' => ["prev word", "Back"],
48 'B' => ['prev <span style="font-variant:small-caps">word</span>'],
49 '^b'=> ["page up"],
50 'c' => ["chan$sign{_}ge"],
51 'C' => ["chan$sign{_}ge to eol"],
52 '^c'=> ["abort"],
53 'd' => ["del$sign{_}ete"],
54 'D' => ["delete to eol"],
55 '^d'=> ["scroll down"],
56 'e' => ["end word"],
57 'E' => ['end <span style="font-variant:small-caps">word</span>'],
58 '^e'=> ["window down", "Extra line"],
59 'f' => ["fwd to char"],
60 'F' => ["back$sign{_}wd to char"],
61 '^f'=> ["page down", "page Forward"],
62 'g' => ["extra cmds"],
63 'G' => ["eof/$sign{_}goto ln"],
64 '^g'=> [":file (info)"],
65 'h' => [$sign{left}],
66 'H' => ["screen top", 'Home row'],
67 'i' => ["insert mode"],
68 'I' => ["insert at bol"],
69 '^i'=> ["jump to newer", 'Increase position'],
70 'j' => [$sign{down}],
71 'J' => ["join lines"],
72 'k' => [$sign{up}],
73 'K' => ["help", "looKup Keyword"],
74 'l' => [$sign{right}],
75 'L' => ["screen bottom", "Lowermost Line"],
76 '^l'=> ["redraw"],
77 'm' => ["set mark"],
78 'M' => ["screen mid$sign{_}dle"],
79 'n' => ["next find"],
80 'N' => ["prev find"],
81 'o' => ["line below", 'Open'],
82 'O' => ["line above"],
83 '^o'=> ["jump to older"],
84 'p' => ["paste after"],
85 'P' => ["paste before"],
86 'q' => ["rec$sign{_}ord macro", "Queue seQuence"],
87 'Q' => ["ex mode"],
88 '^q'=> ["(xon)", 'Qome back'],
89 'r' => ["repl$sign{_}ace char"],
90 'R' => ["repl$sign{_}ace mode"],
91 '^r'=> ["redo"],
92 's' => ["subst char"],
93 'S' => ["subst line"],
94 '^s'=> ["(xoff)", 'Stop'],
95 't' => ["till char"],
96 'T' => ["back till char"],
97 '^t'=> ["back tag"], # backtrag :P
98 'u' => ["undo"],
99 'U' => ["undo line"],
100 '^u'=> ["scroll up"],
101 'v' => ["visual mode"],
102 'V' => ["visual lines"],
103 '^v'=> ["visual block"],
104 'w' => ["next word"],
105 'W' => ['next <span style="font-variant:small-caps">word</span>'],
106 '^w'=> ["win$sign{_}dow cmds"],
107 'x' => ["delete char"],
108 'X' => ["back$sign{_}space"],
109 '^x'=> ["subs$sign{_}tract"],
110 'y' => ["yank", '(copy)'],
111 'Y' => ["yank line"],
112 '^y'=> ["window up", 'Yield'],
113 'z' => ["extra cmds"],
114 'Z' => ["quit"],
115 '^z'=> [":sus$sign{_}pend", 'zzz (as in sleep)'],
116
117 'g~' => ["case toggl$sign{_}e"],
118 'g@' => ["oper$sign{_}at$sign{_}or$sign{_}func"],
119 'g#' => ["rev. find string"],
120 'g$' => ["virt$sign{_}ual eol"],
121 'g^' => [qq'"soft" bol v$sign{_}irt$sign{_}ual'],
122 'g&' => [":s rep$sign{_}eat glob$sign{_}al$sign{_}ly", "Global substitute"],
123 'g*' => ["find string"],
124 'g_' => [qq'"soft" eol'],
125 'g+' => ["later undo"],
126 'g`' => ["to mark keepj$sign{_}umps"],
127 'g8' => ["char hex val$sign{_}ue$sign{_}s"],
128 'g0' => ["virtual bol"],
129 'g-' => ["earlier undo"],
130 "g\e"=> ["normal mode"],
131 'g]' => ["go to tselect"],
132 'g^]'=> ["go to tjump"],
133 'g;' => ["to prev change pos"],
134 "g'" => ["to mark keepj$sign{_}umps"],
135 'g<' => ["see prev cmd output"],
136 'g?' => ["rot13 encode"],
137 'g,' => ["to next change pos"],
138
139 'ga' => ["char value", "Get Ascii value"],
140 'g^a'=> ["mem usage stats"],
141 'gd' => ["local declar$sign{_}ation"],
142 'gD' => ["global declar$sign{_}ation"],
143 'ge' => ["back to word end"],
144 'gE' => [qq'back to <span style="font-variant:small-caps">word</span> end'],
145 'gf' => ["edit file at cur$sign{_}sor", "Goto File"],
146 'gF' => ["edit file + jump"],
147 'gg' => ["first line"],
148 'g^g'=> ["cur$sign{_}sor pos info"],
149 'gh' => ["select mode", "Get Highlighted"],
150 'gH' => ["select lines", "Get Highlighted"],
151 'g^h'=> ["select block", "Get Highlighted"],
152 'gi' => ["insert at last pos"],
153 'gI' => ["insert at soft bol"],
154 'gj' => ["$sign{down} screen"],
155 'gJ' => ["join leave spac$sign{_}ing"],
156 'gk' => ["$sign{up} screen"],
157 'gm' => ["cen$sign{_}ter screen"],
158 'go' => [":goto (byte)"],
159 'gp' => ["paste still"],
160 'gP' => ["paste before still"],
161 'gq' => ["for$sign{_}mat"],
162 'gQ' => ["ex mode manual :"],
163 'gr' => ["virt. repl$sign{_}ace char"],
164 'gR' => ["virt. repl$sign{_}ace mode"],
165 'gs' => ["sleep", "Go to Sleep"],
166 'gt' => ["next tab", "Goto Tab"],
167 'gT' => ["tab back"],
168 'gu' => ["lower$sign{_}case"],
169 'gU' => ["up$sign{_}per$sign{_}case"],
170 'gv' => ["prev$sign{_}ious highl$sign{_}ight", 'precedinG Visual'],
171 'gV' => ["avoid resel$sign{_}ect$sign{_}ion"],
172 'gw' => ["for$sign{_}mat still"],
173 'gx' => ["Netrw$sign{_}BrowseX"],
174
175 "Z\e"=> ["normal mode"],
176 'ZQ' => [" :q! (force)"],
177 'ZZ' => [" :wq (write)"],
178
179 'z^' => ["page above"],
180 'z+' => ["page below"],
181 'z-' => ["line at bottom bol", "don't (-) see any further"],
182 'z=' => ["sug$sign{_}gest spell$sign{_}ing"],
183 'z.' => ["line at center bol"],
184 "z\e"=> ["normal mode"],
185
186 'za' => ["toggle fold"],
187 'zA' => ["toggle fold rec$sign{_}urs$sign{_}ive$sign{_}ly"],
188 'zb' => ["line at bot. bol"],
189 'zc' => ["close fold"],
190 'zC' => ["close folds rec$sign{_}curs$sign{_}ive$sign{_}ly"],
191 'zd' => ["delete fold"],
192 'zD' => ["delete folds rec$sign{_}urs$sign{_}ive"],
193 'ze' => ["cursor at right side"],
194 'zE' => ["elimi$sign{_}nate f$sign{_}olds"],
195 'zf' => ["create fold"],
196 'zF' => ["fold lines"],
197 'zg' => ["add spell$sign{_}ing", 'Good word'],
198 'zG' => ["temp spell$sign{_}ing"],
199 'zh' => ["scroll $sign{right}"],
200 'zH' => ["scroll $sign{right} half scr$sign{_}een"],
201 'zi' => ["toggle all folds"],
202 'zj' => ["next fold start"],
203 'zk' => ["prev fold end"],
204 'zl' => ["scroll $sign{left}"],
205 'zL' => ["scroll $sign{left} half scr$sign{_}een"],
206 'z^m'=> ["line at top bol"],
207 'zm' => ["fold more"],
208 'zM' => ["close all folds"],
209 'zn' => ["fold none"],
210 'zN' => ["fold norm$sign{_}al"],
211 'zo' => ["open fold"],
212 'zO' => ["open folds rec$sign{_}urs$sign{_}ive$sign{_}ly"],
213 'zr' => ["reduce folding"],
214 'zR' => ["open all folds"],
215 'zs' => ["cursor at left side"],
216 'zt' => ["line at top"],
217 'zu' => ["undo spell$sign{_}ing"],
218 'zv' => ["unfold cursor line"],
219 'zw' => ["add missp$sign{_}ell$sign{_}ing", "Wrong word"],
220 'zW' => ["temp missp$sign{_}ell$sign{_}ing"],
221 'zx' => ["update folds"],
222 'zX' => ["re$sign{_}apply f$sign{_}olds"],
223 'zz' => ["line at center", "Zee Zenter (with a funny accent)"],
224
225 "[`" => ["previous lc mark"],
226 '[#' => ["previous open #if$sign{_}/#else"],
227 '[(' => ["previous open ("],
228 '[/' => ["start of C com$sign{_}m$sign{_}ent"],
229 '[{' => ["previous open {"],
230 '[[' => ["section back$sign{_}ward$sign{_}s"],
231 "[\e"=> ["normal mode"],
232 '[]' => [qq'<span style="font-variant:small-caps">section</span> back$sign{_}ward$sign{_}s'],
233
234 '[c' => ["start of change backw$sign{_}ards"],
235 '[d' => ["define line"],
236 '[D' => ["defin$sign{_}ition"],
237 '[^d'=> ["to defin$sign{_}it$sign{_}ion"],
238 '[i' => ["first occur$sign{_}renc$sign{_}e line"],
239 '[I' => ["first occur$sign{_}renc$sign{_}e"],
240 '[^i'=> ["to first occur$sign{_}renc$sign{_}e"],
241 '[m' => ["start of funct$sign{_}ion"],
242 '[p' => ["P reind$sign{_}ent$sign{_}ed"],
243 '[P' => ["[p"],
244 '[s' => ["last missp$sign{_}ell$sign{_}ing"],
245 '[S' => ["last bad word"],
246 '[z' => ["start of open fold"],
247
248 "]`" => ["next lc mark"],
249 ']#' => ["next open #endif$sign{_}/#else"],
250 '])' => ["next open )"],
251 ']/' => ["end of C com$sign{_}m$sign{_}ent"],
252 '][' => [qq'<span style="font-variant:small-caps">section</span> forw$sign{_}ard'],
253 "]\e"=> ["normal mode"],
254 ']]' => ["section forw$sign{_}ard"],
255 ']}' => ["next open }"],
256
257 ']c' => ["start of change forw$sign{_}ards"],
258 ']d' => ["next define line"],
259 ']D' => ["next define"],
260 ']^d'=> ["to next define"],
261 ']i' => ["next occur$sign{_}renc$sign{_}e line"],
262 ']I' => ["next occur$sign{_}renc$sign{_}e"],
263 ']^i'=> ["to occur$sign{_}renc$sign{_}e"],
264 ']m' => ["end of funct$sign{_}ion"],
265 ']p' => ["p reind$sign{_}ent$sign{_}ed"],
266 ']s' => ["next missp$sign{_}ell$sign{_}ing"],
267 ']S' => ["next bad word"],
268 ']z' => ["end of open fold"],
269
270 '^w<' => ["width decr$sign{_}ease"],
271 '^w>' => ["width incr$sign{_}ease"],
272 '^w^' => ["split, edit alt file"],
273 '^w_' => ["set height"],
274 '^w+' => ["height incr$sign{_}ease"],
275 '^w-' => ["height decr$sign{_}ease"],
276 '^w=' => ["same height"],
277 "^w\e"=> ["normal mode"],
278 '^w]' => ["split, to tag"],
279 '^w}' => ["pre$sign{_}view tag"],
280 '^w|' => ["set width"],
281
282 '^wb' => ["go to bot$sign{_}tom"],
283 '^wc' => [":close"],
284 '^w^c'=> ["abort"],
285 '^wd' => ["split, to def$sign{_}inition"],
286 '^wf' => ["split, file edit"],
287 '^wF' => ["^wf, jump to line"],
288 '^wg' => ["extra cmds"],
289 '^wh' => ["go left"],
290 '^wH' => ["move far left"],
291 '^wi' => ["split, to decl of id$sign{_}ent$sign{_}ifier"],
292 '^wj' => ["go down"],
293 '^wJ' => ["move to bottom"],
294 '^wk' => ["go up"],
295 '^wK' => ["move to top"],
296 '^wl' => ["go right"],
297 '^wL' => ["move far right"],
298 '^wn' => ["open new"],
299 '^wo' => [":only current"],
300 '^wp' => ["go to prev$sign{_}ious"],
301 '^wP' => ["go to pre$sign{_}view"],
302 '^wq' => [":quit current"],
303 '^wr' => ["rotate down$sign{_}ward$sign{_}s"],
304 '^wR' => ["rotate up$sign{_}ward$sign{_}s"],
305 '^ws' => ["split horiz$sign{_}ont$sign{_}al$sign{_}ly"],
306 '^wt' => ["go to top"],
307 '^wv' => ["split vert$sign{_}ic$sign{_}al$sign{_}ly"],
308 '^ww' => ["go to next", "Wrap around"],
309 '^wW' => ["go above$sign{_}/left"],
310 '^wx' => ["ex$sign{_}chan$sign{_}ge"],
311 '^wz' => ["close pre$sign{_}view"],
312
313 "^wg\e"=> ["normal mode"],
314 '^wg]' => ["split, :ts$sign{_}elect"],
315 '^wg}' => [":ptj$sign{_}ump to tag"],
316 '^wg^]'=> ["split, :tj$sign{_}ump"],
317 '^wgf' => ["file in tab"],
318 '^wgF' => ["^wgf, to line$sign{_}nr"],
319
320 'v!' => ["external filter"],
321 'v:' => ["cmd on range"],
322 'v<' => ["un$sign{_}indent"],
323 'v=' => ["re$sign{_}ind$sign{_}ent"],
324 'v>' => ["ind$sign{_}ent"],
325 'v~' => ["toggle case"],
326 "v\e"=> ["normal mode"],
327 'v^]'=> ["jump to tag"],
328
329 'va' => ["ex$sign{_}tend area"],
330 'vA' => ["ap$sign{_}pend to block"], # block
331 'vc' => ["repl$sign{_}ace area"],
332 'vC' => ["repl$sign{_}ace full lines"], # like vS, but blocks are extended until eol
333 'v^c'=> ["abort"],
334 'vd' => ["delete area"],
335 'vD' => ["delete lines"],
336 'vg' => ["extra cmds"],
337 'v^g'=> ["select mode"],
338 'v^h'=> ["back$sign{_}space"], # delete in select mode, left otherwise
339 'vi' => ["extend inner a$sign{_}r$sign{_}ea"],
340 'vI' => ["insert to block"], # block
341 'vJ' => ["join lines"],
342 'vK' => ["help sel$sign{_}ect$sign{_}ion"],
343 'vo' => ["to other corner"],
344 'vO' => ["to other side"],
345 'v^o'=> ["visual once"], # select
346 'vp' => ["repl$sign{_}ace w/ paste"],
347 'vP' => ["repl$sign{_}ace w/ paste"],
348 'vr' => ["fill up w/ ch$sign{_}ar"],
349 'vS' => ["repl$sign{_}ace lines"],
350 'vu' => ["lower$sign{_}case"],
351 'vU' => ["upper$sign{_}case"],
352 'vv' => ["char$sign{_}wise"],
353 'vV' => ["line$sign{_}wise"],
354 'v^v'=> ["block$sign{_}wise"],
355 'vy' => ["yank area"],
356 'vY' => ["yank lines"],
357
358 "vg\e"=> ["visual mode"],
359 'vg?' => ["rot13 encode"],
360 'vgJ' => ["join literal$sign{_}ly"],
361 'vgq' => ["for$sign{_}mat"],
362 'vgw' => ["for$sign{_}mat still"],
363
364 "va'" => ["quoted string"],
365 'va<' => ["&lt;&gt; block"],
366 'va[' => ["[] block"],
367 "va\e"=> ["visual mode"],
368
369 'vab' => ["() block"],
370 'vaB' => ["{} Block"],
371 'vap' => ["para$sign{_}graph"],
372 'vas' => ["senten$sign{_}ce"],
373 'vat' => ["xml tag block"],
374 'vaw' => ["word"],
375 'vaW' => ['<span style="font-variant:small-caps">word</span>'],
376
377 #'c^a' => ["complete"], #todo
378 #'c^b' => ["bol"],
379 #'c^d' => ["complete"], #todo
380 #'c^e' => ["eol"],
381 #'c^j' => ["execute cmd"],
382 #'c^l' => ["complete"], #todo
383 #'c^n' => ["complete"], #todo
384 #'c^p' => ["complete"], #todo
385 #'c^r' => 'i^r', # and then some...
386 #      ## ["insert register"],
387 #'c^y' => ["selec$sign{_}tion to clip$sign{_}b$sign{_}oard"],
388
389 'i^@' => ["last insert"],
390 'i^^' => ["toggle :lmap usag$sign{_}e"],
391 "i\e" => ["normal mode"],
392 'i^]' => ["abbrev$sign{_}iate"],
393 'i^_' => ["toggle lang$sign{_}uage"],
394
395 'i^a' => ["insert prev$sign{_}ious"],
396 'i^b' => ["former i^_"],
397 'i^c' => ["abort, no abbr"],
398 'i^d' => ["un$sign{_}ind$sign{_}ent"],
399 'i^e' => ["ins char below"],
400 'i^f' => ["set indent$sign{_}ation"],
401 'i^g' => ["extra cmds"],
402 'i^h' => ["back$sign{_}space"],
403 'i^i' => ["tab"],
404 'i^j' => ["enter"],
405 'i^k' => ["di$sign{_}graph", "Key code"],
406 'i^l' => ["<em>im</em> leave ins mode"],
407 'i^m' => ["enter"],
408 'i^n' => ["find next keyword"],
409 'i^o' => ["exec$sign{_}ute cmd"],
410 'i^p' => ["find prev keyword"],
411 'i^r' => ["insert reg$sign{_}ister"],
412 'i^t' => ["indent"],
413 'i^u' => ["delete line"],
414 'i^v' => ["literal or ch$sign{_}ar$sign{_}cod$sign{_}e", "Verbatim or by Value"],
415 'i^w' => ["delete word back"],
416 'i^x' => ["ex$sign{_}pand mode"],
417 'i^y' => ["ins char above"],
418 'i^z' => [":sus$sign{_}pend in <em>im</em>"],
419
420 "i^g\e"=> ["insert mode"],
421 'i^gk' => ["$sign{up} start col$sign{_}umn"],
422 'i^gj' => ["$sign{down} start col$sign{_}umn"],
423 'i^gu' => ["break undo seq$sign{_}uence"],
424 # other i^g keys (even esc) are not recognized
425
426 "i^x\e" => ["normal mode"],
427 'i^x^]' => ["tag comp$sign{_}l$sign{_}et$sign{_}e"],
428 'i^x^d' => ["def$sign{_}ine compl$sign{_}et$sign{_}e"],
429 'i^x^e' => ["window up"],
430 'i^x^f' => ["file comp$sign{_}l$sign{_}et$sign{_}e"],
431 'i^x^i' => ["ident comp$sign{_}l$sign{_}et$sign{_}e"],
432 'i^x^k' => ["dict comp$sign{_}l$sign{_}et$sign{_}e"],
433 'i^x^l' => ["line comp$sign{_}l$sign{_}et$sign{_}e"],
434 'i^x^n' => ["next comp$sign{_}l$sign{_}et$sign{_}e"],
435 'i^x^o' => ["omni comp$sign{_}l$sign{_}et$sign{_}e"],
436 'i^x^p' => ["prev comp$sign{_}l$sign{_}ete"],
437 'i^x^s' => ["spell sugg$sign{_}est"],
438 'i^x^t' => ["thes$sign{_}aur$sign{_}us compl$sign{_}et$sign{_}e"],
439 'i^x^u' => ["cus$sign{_}tom comp$sign{_}l$sign{_}et$sign{_}e"],
440 'i^x^v' => ["ex cmd compl$sign{_}et$sign{_}e"],
441 'i^x^y' => ["window down"],
442
443 # XXX ex mode if you want to go completely wild
444 },
445
446 mode => {
447         ''    => "normal mode",
448          g    => "extended commands (g)",
449          Z    => "quit commands",
450          z    => "additional commands (z)",
451         '['   => "backward search commands ([)",
452         ']'   => "forward search commands (])",
453         '^w'  => "window commands (ctrl-w)",
454         '^wg' => "extended window commands (ctrl-w g)",
455          v    => "visual mode",
456          vg   => "extended visual commands (v g)",
457          va   => 'text object selection (v a/i)',
458 #        c    => "command-line mode",
459          i    => "insert mode",
460         'i^g' => "extended insert commands (i ctrl-g)",
461         'i^x' => "insert completion commands (i ctrl-x)",
462 },
463
464 flag => {
465         ci => ["info", "Info command: shows/does something without altering anything."],
466         pm => ["motion", "Moves the cursor, or defines the range for an operator ($sign{motion})."],
467         po => ["positioning", "Other movement (jumps, window (re)positioning)."],
468         co => ["command", "Direct action command."],
469         mi => ["ins mode", "Enters Insert or Replace mode."],
470         mo => ["mode", "Enters a different mode."],
471         mv => ["vis mode", "Enters Visual or Select mode."],
472         me => ["key cmd", "Additional key commands (click for overview)."],
473
474         arg => ["key$sign{arg}", "Commands with a dot need a char argument afterwards."],
475         motion => ["key$sign{motion}", "Requires a motion afterwards, operates between cursor and destination."],
476         'ext vim6' => ["vim", "Not in original Vi (assessment incomplete)."],
477         'ext new vim7' => ["vim7", "New in vim version 7.x."],
478 },
479
480 }