add version number
[sheet.git] / vim-cmds.inc.pl
1 use utf8;
2
3 '' => {
4         desc => "normal mode",
5
6         '~' => ["toggle case", "co undo"],
7         '!' => ["extern$sign{_}al filter", "co argm undo modec"],
8         '@' => ["play macro", "co arg undo"],
9         '#' => ["rev. find word", "pm vim"],
10         '$' => ["eol", "pm"],
11         '%' => ["goto match", "pm"],
12         '^' => ['"soft" bol', "pm"],
13         '&' => ["repeat :s", "co undo"],
14         '*' => ["find word", "pm vim"],
15         '(' => ["begin sentence", "pm"],
16         ')' => ["end sentence", "pm"],
17         '_' => ['"soft" bol down', "pm"],
18         '+' => ["next line", "pm"],
19         '`' => ["goto mark", "pm arg"],
20         '0' => ['"hard" bol', "pm"],
21         '^^'=> ["edit alt. file", "co"],
22         '-' => ["prev line", "pm"],
23         '=' => ["auto form$sign{_}at", "co argm undo"],
24         '?' => ["find rev.", "pm arg modec"],
25         ';' => ["repeat t/T/f/F", "pm"],
26         ':' => ["ex cmd line", "co modec"],
27         "'" => ["goto mark bol", "pm arg"],
28         '"' => ["use register", "co arg"],
29         '\\' => ["not used", "me arg"],
30         '^\\' => ["to mode/$sign{_}ext$sign{_}ens$sign{_}ion$sign{_}s", "mo arg"],
31         ',' => ["reverse t/T/f/F", "pm"],
32         '<' => ["un­$sign{_}indent", "co argm undo"],
33         '.' => ["repeat cmd", "co undo"],
34         '>' => ["ident", "co argm undo"],
35         '/' => ["find", "pm arg modec"],
36         '[' => ["move back$sign{_}ward$sign{_}s", "me arg mode["],
37         '{' => ["begin parag.", "pm"],
38         ']' => ["move forw$sign{_}ard", "me arg mode]"],
39         '}' => ["end parag.", "pm"],
40         '^]'=> ["go to tag", "po"],
41         '|' => ["bol/$sign{_}goto col", "pm"],
42
43         'a' => ["append", "mi undo modei"],
44         'A' => ["append to eol", "mi undo modei"],
45         '^a'=> ["incr$sign{_}ement", "co undo", "Add one"],
46         'b' => ["prev word", "pm", "Back"],
47         'B' => ['prev <span style="font-variant:small-caps">word</span>', "pm"],
48         '^b'=> ["page up", "pm"],
49         'c' => ["change", "mi argm undo modei"],
50         'C' => ["change to eol", "mi undo modei"],
51         '^c'=> ["abort", "co"],
52         'd' => ["delete", "co argm undo"],
53         'D' => ["delete to eol", "co undo"],
54         '^d'=> ["scroll down", "po"],
55         'e' => ["end word", "pm"],
56         'E' => ['end <span style="font-variant:small-caps">word</span>', "pm"],
57         '^e'=> ["window down", "po", "Extra line"],
58         'f' => ["fwd to char", "pm arg"],
59         'F' => ['backwd to char', "pm arg"],
60         '^f'=> ["page down", "pm", "page Forward"],
61         'g' => ["extra cmds", "me arg modeg"],
62         'G' => ["eof/$sign{_}goto ln", "pm"],
63         '^g'=> [":file (info)", "ci"],
64         'h' => [$sign{left}, "pm"],
65         'H' => ["screen top", "pm"],
66         '^h'=> "h",
67         'i' => ["insert mode", "mi undo modei"],
68         'I' => ["insert at bol", "mi undo modei"],
69         '^i'=> ["jump to newer", "pm"],
70         'j' => [$sign{down}, "pm"],
71         'J' => ["join lines", "co undo"],
72         '^j'=> "j",
73         'k' => [$sign{up}, "pm"],
74         'K' => ["help", "co", "looKup Keyword"],
75         'l' => [$sign{right}, "pm"],
76         'L' => ["screen bottom", "pm", "Lowermost Line"],
77         '^l'=> ["redraw", "ci"],
78         'm' => ["set mark", "co arg"],
79         'M' => ["screen mid'l", "pm"],
80         '^m'=> "+",
81         'n' => ["next find", "pm"],
82         'N' => ["prev find", "pm"],
83         '^n'=> "j",
84         'o' => ["open below", "mi undo modei"],
85         'O' => ["open above", "mi undo modei"],
86         '^o'=> ["jump to older", "pm"],
87         'p' => ["paste after", "co undo"],
88         'P' => ["paste before", "co undo"],
89         '^p'=> "k",
90         'q' => ["record macro", "mo arg", "Queue seQuence"],
91         'Q' => ["ex mode", "mo"],
92         '^q'=> ["(xon)", "ci"], # or ^v
93         'r' => ["replace char", "co arg undo"],
94         'R' => ["replace mode", "mi undo modei"],
95         '^r'=> ["redo", "co undo"],
96         's' => ["subst char", "mi undo modei"],
97         'S' => ["subst line", "mi undo modei"],
98         '^s'=> ["(xoff)", "ci"],
99         't' => ["till char", "pm arg"],
100         'T' => ["back till char", "pm"],
101         '^t'=> ["previous tag", "po"],
102         'u' => ["undo", "co undo"],
103         'U' => ["undo line", "co undo"],
104         '^u'=> ["scroll up", "po"],
105         'v' => ["visual mode", "mv modev"],
106         'V' => ["visual lines", "mv modev"],
107         '^v'=> ["visual block", "mv modev"],
108         'w' => ["next word", "pm"],
109         'W' => ['next <span style="font-variant:small-caps">word</span>', "pm"],
110         '^w'=> ["window cmds", "me arg mode^w"],
111         'x' => ["delete char", "co undo"],
112         'X' => ["back­$sign{_}space", "co undo"],
113         '^x'=> ["subs$sign{_}tract", "co undo"],
114         'y' => ["yank", "co argm"],
115         'Y' => ["yank line", "co"],
116         '^y'=> ["window up", "po"],
117         'z' => ["extra cmds", "me arg modez"],
118         'Z' => ["quit", "me arg modeZ"],
119         '^z'=> [":sus$sign{_}pend", "ci"],
120 }, # normal mode
121
122 g => {
123         desc => "extended commands (g)",
124         lead => "g",
125
126         '~' => ["toggle case", "co argm vim"],
127         '@' => ["operat$sign{_}or$sign{_}func", "co vim7"],
128         '#' => ["rev. find string", "pm vim"],
129         '$' => ["virt$sign{_}ual eol", "pm"],
130         '^' => [qq'"soft" bol v$sign{_}irt$sign{_}ual', "pm vim"],
131         '&' => ["repeat :s global$sign{_}ly", "co", "Global substitute"],
132         '*' => ["find string", "pm vim"],
133         '_' => [qq'"soft" eol', "pm vim"],
134         '+' => ["later undo", "co vim7"],
135         '`' => ["to mark keepj$sign{_}umps", "pm vim arg"],
136         '8' => ["char hex val$sign{_}ue$sign{_}s", "ci"],
137         '0' => ["virtual bol", "pm vim"],
138         '-' => ["earlier undo", "co vim7"],
139         '^['=> ["esc", "mo mode"],
140         ']' => ["go to tselect", "po"],
141         '^]'=> ["go to tjump", "po"],
142         ';' => ["to prev change pos", "pm"],
143         "'" => ["to mark keepj$sign{_}umps", "pm vim arg"],
144         '<' => ["see prev cmd output", "co vim7"],
145         '?' => ["rot13 encode", "co argm vim"],
146         ',' => ["to next change pos", "pm"],
147
148         'a' => ["char value", "ci", "Get Ascii value"],
149         '^a'=> ["mem usage stats", "ci"],
150         'd' => ["local declar$sign{_}ation", "pm vim"],
151         'D' => ["global declar$sign{_}ation", "pm vim"],
152         'e' => ["back to word end", "pm"],
153         'E' => [qq'back to <span style="font-variant:small-caps">word</span> end', "pm"],
154         'f' => ["edit file at cur$sign{_}sor", "co vim", "Goto File"],
155         'F' => ["edit file + jump", "co vim7"],
156         'g' => ["first line", "pm"],
157         '^g'=> ["cursor pos info", "ci"],
158         'h' => ["select mode", "mv modev", "Get Highlighted"],
159         'H' => ["select lines", "mv modev", "Get Highlighted"],
160         '^h'=> ["select block", "mv modev", "Get Highlighted"],
161         'i' => ["insert at last pos", "mi undo modei"],
162         'I' => ["insert at soft bol", "mi undo modei"],
163         'j' => ["display line down", "pm vim"],
164         'J' => ["join leave spac$sign{_}ing", "co"],
165         'k' => ["display line up", "pm vim"],
166         'm' => ["g0 right half scr$sign{_}een", "pm vim"],
167         'o' => [":goto (byte)", "pm"],
168         'p' => ["paste no move", "co undo"],
169         'P' => ["paste before no move", "co"],
170         'q' => ["format", "co argm"],
171         'Q' => ["ex mode manual :", "mo vim"],
172         'r' => ["replace char vir.", "co arg"],
173         'R' => ["replace mode v$sign{_}ir$sign{_}t$sign{_}ual", "mi undo modei"],
174         's' => ["sleep", "ci", "Go to Sleep"],
175         't' => ["next tab", "po vim7", "Goto Tab"],
176         'T' => ["previous tab", "po vim7"],
177         'u' => ["lower$sign{_}case", "co argm vim"], # XXX undo?
178         'U' => ["upper$sign{_}case", "co undo argm vim"],
179         'v' => ["previous visual mode", "mv modev", "precedinG Visual"],
180         'V' => ["avoid reselect$sign{_}ion", "co"],
181         'w' => ["format remain cursor", "co argm vim7"],
182         'x' => ["Netrw$sign{_}BrowseX", "co vim7"],
183 }, # mode g
184
185 Z => {
186         desc => "additional commands (z)",
187         lead => "Z",
188
189         '^['=> ["esc", "mo mode"],
190
191         'Q' => [" :q!", "co vim"],
192         'Z' => [" :wq", "co"],
193 }, # mode Z
194
195 z => {
196         desc => "quit commands",
197         lead => "z",
198
199         '^' => ["page above", "po"],
200         '+' => ["page below", "po"],
201         '-' => ["line at bottom bol", "po", "don't (-) see any further"],
202         '=' => ["spelling suggest$sign{_}ions", "co vim7"],
203         '.' => ["line at center bol", "po"],
204         '^['=> ["esc", "mo mode"],
205
206         'a' => ["toggle fold", "co vim folding"],
207         'A' => ["toggle fold rec$sign{_}urs$sign{_}ive$sign{_}ly", "co vim folding"],
208         'b' => ["line at bot. bol", "po"],
209         'c' => ["close fold", "co vim folding"],
210         'C' => ["close folds rec$sign{_}curs$sign{_}ive$sign{_}ly", "co vim folding"],
211         'd' => ["delete fold", "co vim folding"],
212         'D' => ["delete folds rec$sign{_}urs$sign{_}ive", "co vim folding"],
213         'e' => ["cursor at right side", "po"],
214         'E' => ["eliminate folds", "co vim folding"],
215         'f' => ["create fold", "co argm vim folding"],
216         'F' => ["fold lines", "co vim folding"],
217         'g' => ["correct spelling", "co vim7", "Good word"],
218         'G' => ["add spelling", "co vim7"],
219         'h' => ["scroll $sign{right}", "po"],
220         'H' => ["scroll $sign{right} half scr$sign{_}een", "po"],
221         'i' => ["toggle all folds", "co vim folding"],
222         'j' => ["next fold start", "pm vim folding"],
223         'k' => ["prev fold end", "pm vim folding"],
224         'l' => ["scroll $sign{left}", "po"],
225         'L' => ["scroll $sign{left} half scr$sign{_}een", "po"],
226         '^m'=> ["line at top bol", "po"],
227         'm' => ["fold more", "co vim folding"],
228         'M' => ["close all folds", "co vim folding"],
229         'n' => ["fold none", "co vim folding"],
230         'N' => ["fold normal", "co vim folding"],
231         'o' => ["open fold", "co vim folding"],
232         'O' => ["open folds rec$sign{_}urs$sign{_}ive$sign{_}ly", "co vim folding"],
233         'r' => ["reduce folding", "co vim folding"],
234         'R' => ["open all folds", "co vim folding"],
235         's' => ["cursor at left side", "po"],
236         't' => ["line at top", "po"],
237         'u' => ["undo spelling", "co arg vim7"],
238         'v' => ["unfold cursor line", "co vim folding"],
239         'w' => ["add misspell$sign{_}ing", "co vim7", "Wrong word"],
240         'W' => ["temp misspell$sign{_}ing", "co vim7"],
241         'x' => ["update folds", "co vim folding"],
242         'X' => ["reapply folds", "co vim folding"],
243         'z' => ["line at center", "po", "Zee Zenter (with an accent)"],
244 }, # mode z
245
246 '[' => {
247         desc => "backward search commands ([)",
248         lead => "[",
249
250         "`" => ["previous lc mark", "pm vim"],
251         '#' => ["previous open #if$sign{_}/#else", "pm"],
252         '(' => ["previous open (", "pm"],
253         '*' => "[/",
254         '/' => ["start of C comm$sign{_}ent", "pm"],
255         "'" => "[` ^", # vim
256         '{' => ["previous open {", "pm"],
257         '[' => ["section back$sign{_}ward$sign{_}s", "pm"],
258         '^['=> ["esc", "mo mode"],
259         ']' => [qq'<span style="font-variant:small-caps">section</span> back$sign{_}ward$sign{_}s', "pm"],
260
261         'c' => ["start of change backw$sign{_}ards", "pm"],
262         'd' => ["list define", "co"],
263         'D' => ["list defines", "co"],
264         '^d'=> ["first #define", "po"],
265         'f' => "gf",  # deprecated
266         'i' => ["list line", "co"],
267         'I' => ["list lines", "co"],
268         '^i'=> ["first occur$sign{_}renc$sign{_}e", "po"],
269         'm' => ["start of funct$sign{_}ion", "pm"],
270         'p' => ["P but reindent", "co"],
271         'P' => ["[p", "co"],
272         's' => ["last mis$sign{_}spell$sign{_}ing", "po vim7"],
273         'S' => ["last bad word", "po vim7"],
274         'z' => ["start of open fold", "pm vim folding"],
275 }, # mode [
276
277 ']' => {
278         desc => "forward search commands (])",
279         lead => "]",
280
281         "`" => ["next lc mark", "pm vim"],
282         '#' => ["next open #endif$sign{_}/#else", "pm"],
283         ')' => ["next open )", "pm"],
284         '*' => "]/",
285         "'" => "]` ^", # vim
286         '/' => ["end of C comm$sign{_}ent", "pm"],
287         '[' => [qq'<span style="font-variant:small-caps">section</span> forw$sign{_}ard', "pm"],
288         '^['=> ["esc", "mo mode"],
289         ']' => ["section forw$sign{_}ard", "pm"],
290         '}' => ["next open }", "pm"],
291
292         'c' => ["start of change forw$sign{_}ards", "pm"],
293         'd' => ["list define", "co"],
294         'D' => ["list defines", "co"],
295         '^d'=> ["first #define", "po"],
296         'f' => "gf",  # deprecated
297         'i' => ["list line", "co"],
298         'I' => ["list lines", "co"],
299         '^i'=> ["first occur$sign{_}renc$sign{_}e", "po"],
300         'm' => ["end of funct$sign{_}ion", "pm"],
301         'p' => ["p but reindent", "co"],
302         'P' => "[p",
303         's' => ["next mis$sign{_}spell$sign{_}ing", "po vim7"],
304         'S' => ["next bad word", "po vim7"],
305         'z' => ["end of open fold", "pm vim folding"],
306 }, # mode ]
307
308 '^w' => {
309         desc => "window commands (ctrl-w)",
310         lead => $ascii ? "'w"  : "ŵ",
311
312         '<' => ["decrease width", "po"],
313         '>' => ["increase width", "po"],
314         '^' => ["split, edit alt file", "co"],
315         '_' => ["set height", "po"],
316         '+' => ["increase height", "po"],
317         '-' => ["decrease height", "po"],
318         '=' => ["same height", "po"],
319         '^['=> ["esc", "mo mode"],
320         ']' => ["split, to tag", "po"],
321         '}' => ["tag in preview", "po"],
322         '|' => ["set width", "po"],
323
324         'b' => ["go to bottom", "po"],
325         'c' => [":close", "po"],
326         '^c'=> ["abort", "mo mode"],
327         'd' => ["split, to def$sign{_}inition", "po"],
328         'f' => ["split, edit file", "co"],
329         'F' => ["^wf, jump to line", "co vim7"],
330         'g' => ["extra cmds", "me arg mode^wg"],
331         'h' => ["go left", "po"],
332         'H' => ["move far left", "po"],
333         'i' => ["split, to decl of id$sign{_}ent$sign{_}ifier", "po"],
334         'j' => ["go down", "po"],
335         'J' => ["move to bottom", "po"],
336         'k' => ["go up", "po"],
337         'K' => ["move to top", "po"],
338         'l' => ["go right", "po"],
339         'L' => ["move far right", "po"],
340         'n' => ["open new", "co"],
341         'o' => [":only current", "po"],
342         'p' => ["go to previous", "po"],
343         'P' => ["go to preview", "po"],
344         'q' => [":quit current", "co"],
345         'r' => ["rotate down$sign{_}ward$sign{_}s", "po"],
346         'R' => ["rotate up$sign{_}ward$sign{_}s", "po"],
347         's' => ["split horiz$sign{_}ont$sign{_}al$sign{_}ly", "po"],
348         'S' => "^ws",
349         't' => ["go to top", "po"],
350         'v' => ["split vertical$sign{_}ly", "po"],
351         'w' => ["go to next", "po", "Wrap around"],
352         'W' => ["go above$sign{_}/left", "po"],
353         'x' => ["ex$sign{_}change", "po"],
354         'z' => ["close preview", "po"],
355 }, # mode ^w
356
357 '^wg' => {
358         desc => "extended window commands (ctrl-w g)",
359         lead => $ascii ? "'wg" : "ŵg",
360
361         '^['=> ["esc", "mo mode"],
362         ']' => ["split, :tselect", "po"],
363         '}' => [":ptjump to tag", "po"],
364         '^]'=> ["split, :tjump", "po"],
365         'f' => ["edit file in tab", "co vim7"],
366         'F' => ["^wgf, to line$sign{_}nr", "co vim7"],
367 }, # mode ^w g
368
369 v => {
370         desc => "visual mode",
371
372         '!' => ["external filter", "co"],
373         ':' => ["cmd on range", "mo modec"],
374         '<' => ["un$sign{_}indent", "co"],
375         '=' => ["equalprg filter", "co"],
376         '>' => ["indent", "co"],
377         '~' => ["toggle case", "co vim"],
378         '^['=> ["esc", "mo mode"],
379         '^]'=> ["jump to tag", "po"],
380
381         'a' => ["extend area", "me arg"], # XXX mode
382         'A' => ["append to block", "mi modei"], # block
383         'c' => ["replace area", "mi modei vim"],
384         'C' => ["replace lines", "mi modei vim"],
385         '^c'=> ["abort", "mo mode"],
386         'd' => ["delete area", "co vim"],
387         'D' => ["delete lines", "co vim"],
388         'g' => ["extra cmds", "me arg modevg"],
389         '^g'=> ["select mode", "mv"],
390         '^h'=> ["delete area", "co"], # select mode only
391         'i' => ["extend area", "me arg"],
392         'I' => ["insert to block", "mi modei"], # block
393         'J' => ["join lines", "co"],
394         'K' => ["keyword$sign{_}prg", "co"],
395         'o' => ["to other corner", "pm"],
396         'O' => ["to other side", "pm"],
397         '^o'=> ["visual once", "mv"], # select
398         'p' => ["replace w/ paste", "co"],
399         'P' => ["replace w/ paste", "co"],
400         '^q'=> "^q",
401         'r' => ["replace chars", "co arg"],
402         'R' => "vS",  # "might change in future"
403         '^s'=> "^s",
404         's' => "vc",
405         'S' => ["replace full lines", "mi modei vim"],
406         'u' => ["lower$sign{_}case", "co vim"],
407         'U' => ["upper$sign{_}case", "co vim"],
408         'v' => ["char$sign{_}wise", "mv"],
409         'V' => ["line$sign{_}wise", "mv"],
410         '^v'=> ["block$sign{_}wise", "mv"],
411         'x' => "vd",
412         'X' => "vD",
413         'y' => ["yank area", "co"],
414         'Y' => ["yank lines", "co"],
415
416         map {$_ => $_} qw(
417                 b B ^b ^d e E ^e f F ^f G h H ^i j ^j k l L m M ^m
418                 n N ^n ^p q ^s t T ^u w W ^w ^y z ^z
419                 ` # $ % ^ * ( 0 ) [ { ] } ; / ? + - _ |
420         ) # a lot like normal mode
421 }, # mode v
422
423 vg => {
424         desc => "extended visual commands (v g)",
425         lead => "g",
426
427         '^['=> ["esc", "mv modev"],
428         '?' => ["rot13 encode", "co vim"],
429         'J' => ["join leave spacing", "co vim"],
430         'q' => ["format", "co vim"],
431         'v' => ["previous highl$sign{_}ight", "co"],
432         'w' => ["format remain cursor", "co vim7"],
433 }, # mode v g
434
435 #c => {
436 #       desc => "command-line mode",
437 #
438 #       '^_' => 'i^_',
439 #       '^^' => 'i^^',
440 ##      '^\\'=> ["cmd", "me arg"],
441 #       '^a' => ["complete", ""], #todo
442 #       '^b' => ["bol", "po"],
443 #       '^c' => 'i^c',
444 #       '^d' => ["complete", ""], #todo
445 #       '^e' => ["eol", "po"],
446 #       '^h' => 'i^h',
447 #       '^j' => ["execute cmd", "co"],
448 #       '^k' => 'i^k',
449 #       '^l' => ["complete", ""], #todo
450 #       '^n' => ["complete", ""], #todo
451 #       '^p' => ["complete", ""], #todo
452 #       '^r' => 'i^r', # and then some...
453 #            ## ["insert register", "co arg vim"],
454 #       '^q' => '^q',
455 #       '^u' => 'i^u',
456 #       '^v' => 'i^v',
457 #       '^w' => 'i^w',
458 #       '^y' => ["selec$sign{_}tion to clip$sign{_}b$sign{_}oard", "co"],
459 #}, # mode c
460
461 i => {
462         desc => "insert mode",
463
464         '^@' => ["last insert", "co"],
465         '^^' => ["toggle :lmap usag$sign{_}e", "co vim"],
466         '^[' => ["esc", "mo mode"],
467         '^]' => ["abbrev$sign{_}iate", "co vim"],
468         '^_' => ["change lang$sign{_}uage", "co vim"],
469         '^\\'=> ["switch mode", "mo arg"],
470
471         '^a' => ["insert prev$sign{_}ious", "co vim"],
472         '^b' => ["former i^_", "co"],
473         '^c' => ["abort, no abbr", "mo mode"],
474         '^d' => ["un$sign{_}indent", "co"],
475         '^e' => ["ins char below", "co vim"],
476         '^f' => ["cinkeys: re-indent", "co"],
477         '^g' => ["start column", "pm arg"], #todo
478         '^h' => ["back$sign{_}space", "co"],
479         '^i' => ["tab", "co"],
480         '^j' => ["enter", "co"],
481         '^k' => ["di$sign{_}graph", "co arg arg vim", "Key code"],
482         '^l' => ["<em>im</em> leave ins mode", "mo mode vim"],  # insertmode only
483         '^m' => ["enter", "co"],
484         '^n' => ["find next keyword", "pm vim"],
485         '^o' => ["execute cmd", "co"],
486         '^p' => ["find prev keyword", "pm vim"],
487         '^q' => "^q",  # or i^v
488         '^r' => ["insert register", "co arg vim"],
489         '^s' => "^s",
490         '^t' => ["indent", "co"],
491         '^u' => ["delete line", "co"],
492         '^v' => ["literal or char$sign{_}cod$sign{_}e", "co", "Verbatim or by Value"],
493         '^w' => ["delete word back", "co"],
494         '^x' => ["expand mode", "me arg modei^x vim"],
495         '^y' => ["ins char above", "co vim"],
496         '^z' => [":sus$sign{_}pend in <em>im</em>", "ci vim"],  # insertmode only
497 }, # modei
498
499 'i^x' => {
500         desc => "insert completion commands (i ctrl-x)",
501         lead => $ascii ? "'x"  : "x̂",
502
503         '^[' => ["esc", "mo mode"],
504         '^]' => ["complet$sign{_}e tags", "co"],
505         '^d' => ["complet$sign{_}e def$sign{_}ines", "co"],
506         '^e' => ["window up", "po"],
507         '^f' => ["complet$sign{_}e file$sign{_}name$sign{_}s", "co"],
508         '^i' => ["complet$sign{_}e idents", "co"],
509         '^k' => ["complet$sign{_}e dict", "co"],
510         '^l' => ["complet$sign{_}e lines", "co"],
511         '^n' => ["next complet$sign{_}e", "co"],
512         '^o' => ["omni complet$sign{_}e", "co vim7"],
513         '^p' => ["previou$sign{_}s compl$sign{_}ete", "co"],
514         '^s' => ["spell suggest", "co"],
515          's' => 'i^x^s',
516         '^t' => ["complet$sign{_}e thes$sign{_}aur$sign{_}us", "co"],
517         '^u' => ["complet$sign{_}e$sign{_}func", "co vim7"],
518         '^v' => ["complet$sign{_}e ex cmd", "co"],
519         '^y' => ["window down", "po"],
520 }, # mode i ^x
521
522 # XXX ex mode if you want to go completely wild
523