keys: load flags dependency within descriptions include
[sheet.git] / vi.eng.inc.pl
index 7fb456bfcca459eb084d4d1440698ebb1b35ba5b..03eabf31ab4e1aa9689ed0101a05020cce3bfe23 100644 (file)
@@ -3,442 +3,445 @@ use utf8;
 {
 key => {
 
-'~' => ["case toggle"],
-'!' => ["filt$sign{_}er lines"],
-'@' => ["play macro"],
-'#' => ["rev. find word"],
-'$' => ["eol"],
-'%' => ["goto match"],
-'^' => ['"soft" bol'],
-'&' => [":s rep$sign{_}eat"],
-'*' => ["find word"],
-'(' => ["begin senten$sign{_}ce"],
-')' => ["end senten$sign{_}ce"],
-'_' => ['"soft" bol down'],
-'+' => ["next line"],
-'`' => ["goto mark"],
-'0' => ['"hard" bol'],
-'^^'=> ["edit alt. file"],
-'-' => ["prev line"],
-'=' => ["re$sign{_}ind$sign{_}ent"],
-'?' => ["find rev."],
-';' => ["repeat t/f/T/F"],
-':' => ["ex cmd line"],
-"'" => ["goto mark bol"],
-'"' => ["use reg$sign{_}ister"],
-'\\' => ["reser$sign{_}ved"],
-'^\\' => ["to mode/$sign{_}ext$sign{_}ens$sign{_}ion$sign{_}s"],
-',' => ["reverse t/T/f/F"],
-'<' => ["un$sign{_}ind$sign{_}ent"],
-'.' => ["repeat last cmd"],
-'>' => ["ind$sign{_}ent"],
-'/' => ["find"],
-'[' => ["move back$sign{_}ward$sign{_}s"],
-'{' => ["begin parag."],
-']' => ["move forw$sign{_}ard"],
-'}' => ["end parag."],
-'^]'=> ["go to tag"],
-'|' => ["goto (1st) col"],
+       "\e"=> "normal mode",
+       '~' => "case toggle",
+       '!' => "filt<>er lines",
+       '@' => "play macro",
+       '#' => "rev. find word",
+       '$' => "eol",
+       '%' => "goto match",
+       '^' => '"soft" bol',
+       '&' => ":s rep<>eat",
+       '*' => "find word",
+       '(' => "begin senten<>ce",
+       ')' => "end senten<>ce",
+       '_' => '"soft" bol down',
+       '+' => "next line",
+       '`' => "goto mark",
+       '0' => '"hard" bol',
+       '^^'=> "edit alt. file",
+       '-' => "prev line",
+       '=' => "re<>ind<>ent",
+       '?' => "find rev.",
+       ';' => "repeat t/f/T/F",
+       ':' => "ex cmd line",
+       "'" => "goto mark bol",
+       '"' => "use reg<>ister",
+       '\\' => "reser<>ved",
+       '^\\' => "to mode/<>ext<>ens<>ion<>s",
+       ',' => "reverse t/T/f/F",
+       '<' => "un<>ind<>ent",
+       '.' => "repeat last cmd",
+       '>' => "ind<>ent",
+       '/' => "find",
+       '[' => "move back<>ward<>s",
+       '{' => "begin parag.",
+       ']' => "move forw<>ard",
+       '}' => "end parag.",
+       '^]'=> "go to tag",
+       '|' => "goto (1st) col",
 
-'a' => ["app$sign{_}end"],
-'A' => ["app$sign{_}end to eol"],
-'^a'=> ["incr$sign{_}ement", "Add one"],
-'b' => ["prev word", "Back"],
-'B' => ['prev <span style="font-variant:small-caps">word</span>'],
-'^b'=> ["page up"],
-'c' => ["chan$sign{_}ge"],
-'C' => ["chan$sign{_}ge to eol"],
-'^c'=> ["abort"],
-'d' => ["del$sign{_}ete"],
-'D' => ["delete to eol"],
-'^d'=> ["scroll down"],
-'e' => ["end word"],
-'E' => ['end <span style="font-variant:small-caps">word</span>'],
-'^e'=> ["window down", "Extra line"],
-'f' => ["fwd to char"],
-'F' => ["back$sign{_}wd to char"],
-'^f'=> ["page down", "page Forward"],
-'g' => ["extra cmds"],
-'G' => ["eof/$sign{_}goto ln"],
-'^g'=> [":file (info)"],
-'h' => [$sign{left}],
-'H' => ["screen top", 'Home row'],
-'i' => ["insert mode"],
-'I' => ["insert at bol"],
-'^i'=> ["jump to newer", 'Increase position'],
-'j' => [$sign{down}],
-'J' => ["join lines"],
-'k' => [$sign{up}],
-'K' => ["help", "looKup Keyword"],
-'l' => [$sign{right}],
-'L' => ["screen bottom", "Lowermost Line"],
-'^l'=> ["redraw"],
-'m' => ["set mark"],
-'M' => ["screen mid$sign{_}dle"],
-'n' => ["next find"],
-'N' => ["prev find"],
-'o' => ["line below", 'Open'],
-'O' => ["line above"],
-'^o'=> ["jump to older"],
-'p' => ["paste after"],
-'P' => ["paste before"],
-'q' => ["rec$sign{_}ord macro", "Queue seQuence"],
-'Q' => ["ex mode"],
-'^q'=> ["(xon)", 'Qome back'],
-'r' => ["repl$sign{_}ace char"],
-'R' => ["repl$sign{_}ace mode"],
-'^r'=> ["redo"],
-'s' => ["subst char"],
-'S' => ["subst line"],
-'^s'=> ["(xoff)", 'Stop'],
-'t' => ["till char"],
-'T' => ["back till char"],
-'^t'=> ["back tag"], # backtrag :P
-'u' => ["undo"],
-'U' => ["undo line"],
-'^u'=> ["scroll up"],
-'v' => ["visual mode"],
-'V' => ["visual lines"],
-'^v'=> ["visual block"],
-'w' => ["next word"],
-'W' => ['next <span style="font-variant:small-caps">word</span>'],
-'^w'=> ["win$sign{_}dow cmds"],
-'x' => ["delete char"],
-'X' => ["back$sign{_}space"],
-'^x'=> ["subs$sign{_}tract"],
-'y' => ["yank", '(copy)'],
-'Y' => ["yank line"],
-'^y'=> ["window up", 'Yield'],
-'z' => ["extra cmds"],
-'Z' => ["quit"],
-'^z'=> [":sus$sign{_}pend", 'zzz (as in sleep)'],
+       'a' => "app<>end",
+       'A' => "app<>end to eol",
+       '^a'=> "incr<>ement\nAdd one",
+       'b' => "prev word\nBack",
+       'B' => 'prev <span style="font-variant:small-caps">word</span>',
+       '^b'=> "page up",
+       'c' => "chan<>ge",
+       'C' => "chan<>ge to eol",
+       '^c'=> "abort",
+       'd' => "del<>ete",
+       'D' => "delete to eol",
+       '^d'=> "scroll down",
+       'e' => "end word",
+       'E' => 'end <span style="font-variant:small-caps">word</span>',
+       '^e'=> "window down\nExtra line",
+       'f' => "fwd to char",
+       'F' => "back<>wd to char",
+       '^f'=> "page down\npage Forward",
+       'g' => "extra cmds",
+       'G' => "eof/<>goto ln",
+       '^g'=> ":file (info)",
+       'h' => "<left>",
+       'H' => "screen top\nHome row",
+       'i' => "insert mode",
+       'I' => "insert at bol",
+       '^i'=> "jump to newer\nIncrease position",
+       'j' => "<down>",
+       'J' => "join lines",
+       'k' => "<up>",
+       'K' => "help\nlooKup Keyword",
+       'l' => "<right>",
+       'L' => "screen bottom\nLowermost Line",
+       '^l'=> "redraw",
+       'm' => "set mark",
+       'M' => "screen mid<>dle",
+       'n' => "next find",
+       'N' => "prev find",
+       'o' => "line below\nOpen",
+       'O' => "line above",
+       '^o'=> "jump to older",
+       'p' => "paste after",
+       'P' => "paste before",
+       'q' => "rec<>ord macro\nQueue seQuence",
+       'Q' => "ex mode",
+       '^q'=> "(xon)\nQome back",
+       'r' => "repl<>ace char",
+       'R' => "repl<>ace mode",
+       '^r'=> "redo",
+       's' => "subst char",
+       'S' => "subst line",
+       '^s'=> "(xoff)\nStop",
+       't' => "till char",
+       'T' => "back till char",
+       '^t'=> "back tag", # backtrag :P
+       'u' => "undo",
+       'U' => "undo line",
+       '^u'=> "scroll up",
+       'v' => "visual mode",
+       'V' => "visual lines",
+       '^v'=> "visual block",
+       'w' => "next word",
+       'W' => 'next <span style="font-variant:small-caps">word</span>',
+       '^w'=> "win<>dow cmds",
+       'x' => "delete char",
+       'X' => "back<>space",
+       '^x'=> "subs<>tract",
+       'y' => "yank\n(copy)",
+       'Y' => "yank line",
+       '^y'=> "window up\nYield",
+       'z' => "extra cmds",
+       'Z' => "quit",
+       '^z'=> ":sus<>pend\nzzz (as in sleep)",
 
-'g~' => ["case toggl$sign{_}e"],
-'g@' => ["oper$sign{_}at$sign{_}or$sign{_}func"],
-'g#' => ["rev. find string"],
-'g$' => ["virt$sign{_}ual eol"],
-'g^' => [qq'"soft" bol v$sign{_}irt$sign{_}ual'],
-'g&' => [":s rep$sign{_}eat glob$sign{_}al$sign{_}ly", "Global substitute"],
-'g*' => ["find string"],
-'g_' => [qq'"soft" eol'],
-'g+' => ["later undo"],
-'g`' => ["to mark keepj$sign{_}umps"],
-'g8' => ["char hex val$sign{_}ue$sign{_}s"],
-'g0' => ["virtual bol"],
-'g-' => ["earlier undo"],
-'g^['=> ["esc"],
-'g]' => ["go to tselect"],
-'g^]'=> ["go to tjump"],
-'g;' => ["to prev change pos"],
-"g'" => ["to mark keepj$sign{_}umps"],
-'g<' => ["see prev cmd output"],
-'g?' => ["rot13 encode"],
-'g,' => ["to next change pos"],
+       'g~' => "case toggl<>e",
+       'g@' => "oper<>at<>or<>func",
+       'g#' => "rev. find string",
+       'g$' => "virt<>ual eol",
+       'g^' => qq'"soft" bol v<>irt<>ual',
+       'g&' => ":s rep<>eat glob<>al<>ly\nGlobal substitute",
+       'g*' => "find string",
+       'g_' => qq'"soft" eol',
+       'g+' => "later undo",
+       'g`' => "to mark keepj<>umps",
+       'g8' => "char hex val<>ue<>s",
+       'g0' => "virtual bol",
+       'g-' => "earlier undo",
+       "g\e"=> "normal mode",
+       'g]' => "go to tselect",
+       'g^]'=> "go to tjump",
+       'g;' => "to prev change pos",
+       "g'" => "to mark keepj<>umps",
+       'g<' => "see prev cmd output",
+       'g?' => "rot13 encode",
+       'g,' => "to next change pos",
 
-'ga' => ["char value", "Get Ascii value"],
-'g^a'=> ["mem usage stats"],
-'gd' => ["local declar$sign{_}ation"],
-'gD' => ["global declar$sign{_}ation"],
-'ge' => ["back to word end"],
-'gE' => [qq'back to <span style="font-variant:small-caps">word</span> end'],
-'gf' => ["edit file at cur$sign{_}sor", "Goto File"],
-'gF' => ["edit file + jump"],
-'gg' => ["first line"],
-'g^g'=> ["cur$sign{_}sor pos info"],
-'gh' => ["select mode", "Get Highlighted"],
-'gH' => ["select lines", "Get Highlighted"],
-'g^h'=> ["select block", "Get Highlighted"],
-'gi' => ["insert at last pos"],
-'gI' => ["insert at soft bol"],
-'gj' => ["$sign{down} screen"],
-'gJ' => ["join leave spac$sign{_}ing"],
-'gk' => ["$sign{up} screen"],
-'gm' => ["cen$sign{_}ter screen"],
-'go' => [":goto (byte)"],
-'gp' => ["paste still"],
-'gP' => ["paste before still"],
-'gq' => ["for$sign{_}mat"],
-'gQ' => ["ex mode manual :"],
-'gr' => ["virt. repl$sign{_}ace char"],
-'gR' => ["virt. repl$sign{_}ace mode"],
-'gs' => ["sleep", "Go to Sleep"],
-'gt' => ["next tab", "Goto Tab"],
-'gT' => ["tab back"],
-'gu' => ["lower$sign{_}case"],
-'gU' => ["up$sign{_}per$sign{_}case"],
-'gv' => ["prev$sign{_}ious highl$sign{_}ight", 'precedinG Visual'],
-'gV' => ["avoid resel$sign{_}ect$sign{_}ion"],
-'gw' => ["for$sign{_}mat still"],
-'gx' => ["Netrw$sign{_}BrowseX"],
+       'ga' => "char value\nGet Ascii value",
+       'g^a'=> "mem usage stats",
+       'gd' => "local declar<>ation",
+       'gD' => "global declar<>ation",
+       'ge' => "back to word end",
+       'gE' => qq'back to <span style="font-variant:small-caps">word</span> end',
+       'gf' => "edit file at cur<>sor\nGoto File",
+       'gF' => "edit file + jump",
+       'gg' => "first line",
+       'g^g'=> "cur<>sor pos info",
+       'gh' => "select mode\nGet Highlighted",
+       'gH' => "select lines\nGet Highlighted",
+       'g^h'=> "select block\nGet Highlighted",
+       'gi' => "insert at last pos",
+       'gI' => "insert at soft bol",
+       'gj' => "<down> screen",
+       'gJ' => "join leave spac<>ing",
+       'gk' => "<up> screen",
+       'gm' => "cen<>ter screen",
+       'go' => ":goto (byte)",
+       'gp' => "paste still",
+       'gP' => "paste before still",
+       'gq' => "for<>mat",
+       'gQ' => "ex mode manual :",
+       'gr' => "virt. repl<>ace char",
+       'gR' => "virt. repl<>ace mode",
+       'gs' => "sleep\nGo to Sleep",
+       'gt' => "next tab\nGoto Tab",
+       'gT' => "tab back",
+       'gu' => "lower<>case",
+       'gU' => "up<>per<>case",
+       'gv' => "prev<>ious highl<>ight\nprecedinG Visual",
+       'gV' => "avoid resel<>ect<>ion",
+       'gw' => "for<>mat still",
+       'gx' => "Netrw<>BrowseX",
 
-'Z^['=> ["esc"],
-'ZQ' => [" :q! (force)"],
-'ZZ' => [" :wq (write)"],
+       "Z\e"=> "normal mode",
+       'ZQ' => " :q! (force)",
+       'ZZ' => " :wq (write)",
 
-'z^' => ["page above"],
-'z+' => ["page below"],
-'z-' => ["line at bottom bol", "don't (-) see any further"],
-'z=' => ["sug$sign{_}gest spell$sign{_}ing"],
-'z.' => ["line at center bol"],
-'z^['=> ["esc"],
+       'z^' => "page above",
+       'z+' => "page below",
+       'z-' => "line at bottom bol\ndon't (-) see any further",
+       'z=' => "sug<>gest spell<>ing",
+       'z.' => "line at center bol",
+       "z\e"=> "normal mode",
 
-'za' => ["toggle fold"],
-'zA' => ["toggle fold rec$sign{_}urs$sign{_}ive$sign{_}ly"],
-'zb' => ["line at bot. bol"],
-'zc' => ["close fold"],
-'zC' => ["close folds rec$sign{_}curs$sign{_}ive$sign{_}ly"],
-'zd' => ["delete fold"],
-'zD' => ["delete folds rec$sign{_}urs$sign{_}ive"],
-'ze' => ["cursor at right side"],
-'zE' => ["elimi$sign{_}nate f$sign{_}olds"],
-'zf' => ["create fold"],
-'zF' => ["fold lines"],
-'zg' => ["add spell$sign{_}ing", 'Good word'],
-'zG' => ["temp spell$sign{_}ing"],
-'zh' => ["scroll $sign{right}"],
-'zH' => ["scroll $sign{right} half scr$sign{_}een"],
-'zi' => ["toggle all folds"],
-'zj' => ["next fold start"],
-'zk' => ["prev fold end"],
-'zl' => ["scroll $sign{left}"],
-'zL' => ["scroll $sign{left} half scr$sign{_}een"],
-'z^m'=> ["line at top bol"],
-'zm' => ["fold more"],
-'zM' => ["close all folds"],
-'zn' => ["fold none"],
-'zN' => ["fold norm$sign{_}al"],
-'zo' => ["open fold"],
-'zO' => ["open folds rec$sign{_}urs$sign{_}ive$sign{_}ly"],
-'zr' => ["reduce folding"],
-'zR' => ["open all folds"],
-'zs' => ["cursor at left side"],
-'zt' => ["line at top"],
-'zu' => ["undo spell$sign{_}ing"],
-'zv' => ["unfold cursor line"],
-'zw' => ["add missp$sign{_}ell$sign{_}ing", "Wrong word"],
-'zW' => ["temp missp$sign{_}ell$sign{_}ing"],
-'zx' => ["update folds"],
-'zX' => ["re$sign{_}apply f$sign{_}olds"],
-'zz' => ["line at center", "Zee Zenter (with a funny accent)"],
+       'za' => "toggle fold",
+       'zA' => "toggle fold rec<>urs<>ive<>ly",
+       'zb' => "line at bot. bol",
+       'zc' => "close fold",
+       'zC' => "close folds rec<>curs<>ive<>ly",
+       'zd' => "delete fold",
+       'zD' => "delete folds rec<>urs<>ive",
+       'ze' => "cursor at right side",
+       'zE' => "elimi<>nate f<>olds",
+       'zf' => "create fold",
+       'zF' => "fold lines",
+       'zg' => "add spell<>ing\nGood word",
+       'zG' => "temp spell<>ing",
+       'zh' => "scroll <left>",
+       'zH' => "scroll <left> half scr<>een",
+       'zi' => "toggle all folds",
+       'zj' => "next fold start",
+       'zk' => "prev fold end",
+       'zl' => "scroll <right>",
+       'zL' => "scroll <right> half scr<>een",
+       'z^m'=> "line at top bol",
+       'zm' => "fold more",
+       'zM' => "close all folds",
+       'zn' => "fold none",
+       'zN' => "fold norm<>al",
+       'zo' => "open fold",
+       'zO' => "open folds rec<>urs<>ive<>ly",
+       'zr' => "reduce folding",
+       'zR' => "open all folds",
+       'zs' => "cursor at left side",
+       'zt' => "line at top",
+       'zu' => "undo spell<>ing",
+       'zv' => "unfold cursor line",
+       'zw' => "add missp<>ell<>ing\nWrong word",
+       'zW' => "temp missp<>ell<>ing",
+       'zx' => "update folds",
+       'zX' => "re<>apply f<>olds",
+       'zz' => "line at center\nZee Zenter (with a funny accent)",
 
-"[`" => ["previous lc mark"],
-'[#' => ["previous open #if$sign{_}/#else"],
-'[(' => ["previous open ("],
-'[/' => ["start of C com$sign{_}m$sign{_}ent"],
-'[{' => ["previous open {"],
-'[[' => ["section back$sign{_}ward$sign{_}s"],
-'[^['=> ["esc"],
-'[]' => [qq'<span style="font-variant:small-caps">section</span> back$sign{_}ward$sign{_}s'],
+       "[`" => "previous lc mark",
+       '[#' => "previous open #if<>/#else",
+       '[(' => "previous open (",
+       '[/' => "start of C com<>m<>ent",
+       '[{' => "previous open {",
+       '[[' => "section back<>ward<>s",
+       "[\e"=> "normal mode",
+       '[]' => qq'<span style="font-variant:small-caps">section</span> back<>ward<>s',
 
-'[c' => ["start of change backw$sign{_}ards"],
-'[d' => ["define line"],
-'[D' => ["defin$sign{_}ition"],
-'[^d'=> ["to defin$sign{_}it$sign{_}ion"],
-'[i' => ["first occur$sign{_}renc$sign{_}e line"],
-'[I' => ["first occur$sign{_}renc$sign{_}e"],
-'[^i'=> ["to first occur$sign{_}renc$sign{_}e"],
-'[m' => ["start of funct$sign{_}ion"],
-'[p' => ["P reind$sign{_}ent$sign{_}ed"],
-'[P' => ["[p"],
-'[s' => ["last missp$sign{_}ell$sign{_}ing"],
-'[S' => ["last bad word"],
-'[z' => ["start of open fold"],
+       '[c' => "start of change backw<>ards",
+       '[d' => "define line",
+       '[D' => "defin<>ition",
+       '[^d'=> "to defin<>it<>ion",
+       '[i' => "first occur<>renc<>e line",
+       '[I' => "first occur<>renc<>e",
+       '[^i'=> "to first occur<>renc<>e",
+       '[m' => "start of funct<>ion",
+       '[p' => "P reind<>ent<>ed",
+       '[P' => "[p",
+       '[s' => "last missp<>ell<>ing",
+       '[S' => "last bad word",
+       '[z' => "start of open fold",
 
-"]`" => ["next lc mark"],
-']#' => ["next open #endif$sign{_}/#else"],
-'])' => ["next open )"],
-']/' => ["end of C com$sign{_}m$sign{_}ent"],
-'][' => [qq'<span style="font-variant:small-caps">section</span> forw$sign{_}ard'],
-']^['=> ["esc"],
-']]' => ["section forw$sign{_}ard"],
-']}' => ["next open }"],
+       "]`" => "next lc mark",
+       ']#' => "next open #endif<>/#else",
+       '])' => "next open )",
+       ']/' => "end of C com<>m<>ent",
+       '][' => qq'<span style="font-variant:small-caps">section</span> forw<>ard',
+       "]\e"=> "normal mode",
+       ']]' => "section forw<>ard",
+       ']}' => "next open }",
 
-']c' => ["start of change forw$sign{_}ards"],
-']d' => ["next define line"],
-']D' => ["next define"],
-']^d'=> ["to next define"],
-']i' => ["next occur$sign{_}renc$sign{_}e line"],
-']I' => ["next occur$sign{_}renc$sign{_}e"],
-']^i'=> ["to occur$sign{_}renc$sign{_}e"],
-']m' => ["end of funct$sign{_}ion"],
-']p' => ["p reind$sign{_}ent$sign{_}ed"],
-']s' => ["next missp$sign{_}ell$sign{_}ing"],
-']S' => ["next bad word"],
-']z' => ["end of open fold"],
+       ']c' => "start of change forw<>ards",
+       ']d' => "next define line",
+       ']D' => "next define",
+       ']^d'=> "to next define",
+       ']i' => "next occur<>renc<>e line",
+       ']I' => "next occur<>renc<>e",
+       ']^i'=> "to occur<>renc<>e",
+       ']m' => "end of funct<>ion",
+       ']p' => "p reind<>ent<>ed",
+       ']s' => "next missp<>ell<>ing",
+       ']S' => "next bad word",
+       ']z' => "end of open fold",
 
-'^w<' => ["width decr$sign{_}ease"],
-'^w>' => ["width incr$sign{_}ease"],
-'^w^' => ["split, edit alt file"],
-'^w_' => ["set height"],
-'^w+' => ["height incr$sign{_}ease"],
-'^w-' => ["height decr$sign{_}ease"],
-'^w=' => ["same height"],
-'^w^['=> ["esc"],
-'^w]' => ["split, to tag"],
-'^w}' => ["pre$sign{_}view tag"],
-'^w|' => ["set width"],
+       '^w<' => "width decr<>ease",
+       '^w>' => "width incr<>ease",
+       '^w^' => "split, edit alt file",
+       '^w_' => "set height",
+       '^w+' => "height incr<>ease",
+       '^w-' => "height decr<>ease",
+       '^w=' => "same height",
+       "^w\e"=> "normal mode",
+       '^w]' => "split, to tag",
+       '^w}' => "pre<>view tag",
+       '^w|' => "set width",
 
-'^wb' => ["go to bot$sign{_}tom"],
-'^wc' => [":close"],
-'^w^c'=> ["abort"],
-'^wd' => ["split, to def$sign{_}inition"],
-'^wf' => ["split, file edit"],
-'^wF' => ["^wf, jump to line"],
-'^wg' => ["extra cmds"],
-'^wh' => ["go left"],
-'^wH' => ["move far left"],
-'^wi' => ["split, to decl of id$sign{_}ent$sign{_}ifier"],
-'^wj' => ["go down"],
-'^wJ' => ["move to bottom"],
-'^wk' => ["go up"],
-'^wK' => ["move to top"],
-'^wl' => ["go right"],
-'^wL' => ["move far right"],
-'^wn' => ["open new"],
-'^wo' => [":only current"],
-'^wp' => ["go to prev$sign{_}ious"],
-'^wP' => ["go to pre$sign{_}view"],
-'^wq' => [":quit current"],
-'^wr' => ["rotate down$sign{_}ward$sign{_}s"],
-'^wR' => ["rotate up$sign{_}ward$sign{_}s"],
-'^ws' => ["split horiz$sign{_}ont$sign{_}al$sign{_}ly"],
-'^wt' => ["go to top"],
-'^wv' => ["split vert$sign{_}ic$sign{_}al$sign{_}ly"],
-'^ww' => ["go to next", "Wrap around"],
-'^wW' => ["go above$sign{_}/left"],
-'^wx' => ["ex$sign{_}chan$sign{_}ge"],
-'^wz' => ["close pre$sign{_}view"],
+       '^wb' => "go to bot<>tom",
+       '^wc' => ":close",
+       '^w^c'=> "abort",
+       '^wd' => "split, to def<>inition",
+       '^wf' => "split, file edit",
+       '^wF' => "^wf, jump to line",
+       '^wg' => "extra cmds",
+       '^wh' => "go left",
+       '^wH' => "move far left",
+       '^wi' => "split, to decl of id<>ent<>ifier",
+       '^wj' => "go down",
+       '^wJ' => "move to bottom",
+       '^wk' => "go up",
+       '^wK' => "move to top",
+       '^wl' => "go right",
+       '^wL' => "move far right",
+       '^wn' => "open new",
+       '^wo' => ":only current",
+       '^wp' => "go to prev<>ious",
+       '^wP' => "go to pre<>view",
+       '^wq' => ":quit current",
+       '^wr' => "rotate down<>ward<>s",
+       '^wR' => "rotate up<>ward<>s",
+       '^ws' => "split horiz<>ont<>al<>ly",
+       '^wt' => "go to top",
+       '^wv' => "split vert<>ic<>al<>ly",
+       '^ww' => "go to next\nWrap around",
+       '^wW' => "go above<>/left",
+       '^wx' => "ex<>chan<>ge",
+       '^wz' => "close pre<>view",
 
-'^wg^['=> ["esc"],
-'^wg]' => ["split, :ts$sign{_}elect"],
-'^wg}' => [":ptj$sign{_}ump to tag"],
-'^wg^]'=> ["split, :tj$sign{_}ump"],
-'^wgf' => ["file in tab"],
-'^wgF' => ["^wgf, to line$sign{_}nr"],
+       "^wg\e"=> "normal mode",
+       '^wg]' => "split, :ts<>elect",
+       '^wg}' => ":ptj<>ump to tag",
+       '^wg^]'=> "split, :tj<>ump",
+       '^wgf' => "file in tab",
+       '^wgF' => "^wgf, to line<>nr",
 
-'v!' => ["external filter"],
-'v:' => ["cmd on range"],
-'v<' => ["un$sign{_}indent"],
-'v=' => ["re$sign{_}ind$sign{_}ent"],
-'v>' => ["ind$sign{_}ent"],
-'v~' => ["toggle case"],
-'v^['=> ["esc"],
-'v^]'=> ["jump to tag"],
+       'v!' => "external filter",
+       'v:' => "cmd on range",
+       'v<' => "un<>indent",
+       'v=' => "re<>ind<>ent",
+       'v>' => "ind<>ent",
+       'v~' => "toggle case",
+       "v\e"=> "normal mode",
+       'v^]'=> "jump to tag",
 
-'va' => ["ex$sign{_}tend area"],
-'vA' => ["ap$sign{_}pend to block"], # block
-'vc' => ["repl$sign{_}ace area"],
-'vC' => ["repl$sign{_}ace full lines"], # like vS, but blocks are extended until eol
-'v^c'=> ["abort"],
-'vd' => ["delete area"],
-'vD' => ["delete lines"],
-'vg' => ["extra cmds"],
-'v^g'=> ["select mode"],
-'v^h'=> ["back$sign{_}space"], # delete in select mode, left otherwise
-'vi' => ["extend inner a$sign{_}r$sign{_}ea"],
-'vI' => ["insert to block"], # block
-'vJ' => ["join lines"],
-'vK' => ["help sel$sign{_}ect$sign{_}ion"],
-'vo' => ["to other corner"],
-'vO' => ["to other side"],
-'v^o'=> ["visual once"], # select
-'vp' => ["repl$sign{_}ace w/ paste"],
-'vP' => ["repl$sign{_}ace w/ paste"],
-'vr' => ["fill up w/ ch$sign{_}ar"],
-'vS' => ["repl$sign{_}ace lines"],
-'vu' => ["lower$sign{_}case"],
-'vU' => ["upper$sign{_}case"],
-'vv' => ["char$sign{_}wise"],
-'vV' => ["line$sign{_}wise"],
-'v^v'=> ["block$sign{_}wise"],
-'vy' => ["yank area"],
-'vY' => ["yank lines"],
+       'va' => "ex<>tend area",
+       'vA' => "ap<>pend to block", # block
+       'vc' => "repl<>ace area",
+       'vC' => "repl<>ace full lines", # like vS, but blocks are extended until eol
+       'v^c'=> "abort",
+       'vd' => "delete area",
+       'vD' => "delete lines",
+       'vg' => "extra cmds",
+       'v^g'=> "select mode",
+       'v^h'=> "back<>space", # delete in select mode, left otherwise
+       'vi' => "extend inner a<>r<>ea",
+       'vI' => "insert to block", # block
+       'vJ' => "join lines",
+       'vK' => "help sel<>ect<>ion",
+       'vo' => "to other corner",
+       'vO' => "to other side",
+       'v^o'=> "visual once", # select
+       'vp' => "repl<>ace w/ paste",
+       'vP' => "repl<>ace w/ paste",
+       'vr' => "fill up w/ ch<>ar",
+       'vS' => "repl<>ace lines",
+       'vu' => "lower<>case",
+       'vU' => "upper<>case",
+       'vv' => "char<>wise",
+       'vV' => "line<>wise",
+       'v^v'=> "block<>wise",
+       'vy' => "yank area",
+       'vY' => "yank lines",
 
-'vg^['=> ["esc"],
-'vg?' => ["rot13 encode"],
-'vgJ' => ["join literal$sign{_}ly"],
-'vgq' => ["for$sign{_}mat"],
-'vgw' => ["for$sign{_}mat still"],
+       "vg\e"=> "visual mode",
+       'vg?' => "rot13 encode",
+       'vg^g'=> "count region info",
+       'vgJ' => "join literal<>ly",
+       'vgq' => "for<>mat",
+       'vgw' => "for<>mat still",
 
-"va'" => ["quoted string"],
-'va<' => ["&lt;&gt; block"],
-'va[' => ["[] block"],
-'va^['=> ["esc"],
+       "va'" => "quoted string",
+       'va<' => "&lt;&gt; block",
+       'va[' => "[] block",
+       "va\e"=> "visual mode",
 
-'vab' => ["() block"],
-'vaB' => ["{} Block"],
-'vap' => ["para$sign{_}graph"],
-'vas' => ["senten$sign{_}ce"],
-'vat' => ["xml tag block"],
-'vaw' => ["word"],
-'vaW' => ['<span style="font-variant:small-caps">word</span>'],
+       'vab' => "() block",
+       'vaB' => "{} Block",
+       'vap' => "para<>graph",
+       'vas' => "senten<>ce",
+       'vat' => "xml tag block",
+       'vaw' => "word",
+       'vaW' => '<span style="font-variant:small-caps">word</span>',
 
-#'c^a' => ["complete"], #todo
-#'c^b' => ["bol"],
-#'c^d' => ["complete"], #todo
-#'c^e' => ["eol"],
-#'c^j' => ["execute cmd"],
-#'c^l' => ["complete"], #todo
-#'c^n' => ["complete"], #todo
-#'c^p' => ["complete"], #todo
-#'c^r' => 'i^r', # and then some...
-#      ## ["insert register"],
-#'c^y' => ["selec$sign{_}tion to clip$sign{_}b$sign{_}oard"],
+#      'c^a' => "complete", #todo
+#      'c^b' => "bol",
+#      'c^d' => "complete", #todo
+#      'c^e' => "eol",
+#      'c^j' => "execute cmd",
+#      'c^l' => "complete", #todo
+#      'c^n' => "complete", #todo
+#      'c^p' => "complete", #todo
+#      'c^r' => \'i^r', # and then some...
+#            ## "insert register",
+#      'c^y' => "selec<>tion to clip<>b<>oard",
 
-'i^@' => ["last insert"],
-'i^^' => ["toggle :lmap usag$sign{_}e"],
-'i^[' => ["esc"],
-'i^]' => ["abbrev$sign{_}iate"],
-'i^_' => ["toggle lang$sign{_}uage"],
+       'i^@' => "last insert",
+       'i^^' => "toggle :lmap usag<>e",
+       "i\e" => "normal mode",
+       'i^]' => "abbrev<>iate",
+       'i^_' => "toggle lang<>uage",
 
-'i^a' => ["insert prev$sign{_}ious"],
-'i^b' => ["former i^_"],
-'i^c' => ["abort, no abbr"],
-'i^d' => ["un$sign{_}ind$sign{_}ent"],
-'i^e' => ["ins char below"],
-'i^f' => ["set indent$sign{_}ation"],
-'i^g' => ["extra cmds"],
-'i^h' => ["back$sign{_}space"],
-'i^i' => ["tab"],
-'i^j' => ["enter"],
-'i^k' => ["di$sign{_}graph", "Key code"],
-'i^l' => ["<em>im</em> leave ins mode"],
-'i^m' => ["enter"],
-'i^n' => ["find next keyword"],
-'i^o' => ["exec$sign{_}ute cmd"],
-'i^p' => ["find prev keyword"],
-'i^r' => ["insert reg$sign{_}ister"],
-'i^t' => ["indent"],
-'i^u' => ["delete line"],
-'i^v' => ["literal or ch$sign{_}ar$sign{_}cod$sign{_}e", "Verbatim or by Value"],
-'i^w' => ["delete word back"],
-'i^x' => ["ex$sign{_}pand mode"],
-'i^y' => ["ins char above"],
-'i^z' => [":sus$sign{_}pend in <em>im</em>"],
+       'i^a' => "insert prev<>ious",
+       'i^b' => "former i^_",
+       'i^c' => "abort, no abbr",
+       'i^d' => "un<>ind<>ent",
+       'i^e' => "ins char below",
+       'i^f' => "set indent<>ation",
+       'i^g' => "extra cmds",
+       'i^h' => "back<>space",
+       'i^i' => "tab",
+       'i^j' => "enter",
+       'i^k' => "di<>graph\nKey code",
+       'i^l' => "<em>im</em> leave ins mode",
+       'i^m' => "enter",
+       'i^n' => "find next keyword",
+       'i^o' => "exec<>ute cmd",
+       'i^p' => "find prev keyword",
+       'i^r' => "insert reg<>ister",
+       'i^t' => "indent",
+       'i^u' => "delete line",
+       'i^v' => "literal or ch<>ar<>cod<>e\nVerbatim or by Value",
+       'i^w' => "delete word back",
+       'i^x' => "ex<>pand mode",
+       'i^y' => "ins char above",
+       'i^z' => ":sus<>pend in <em>im</em>",
 
-'i^gk' => ["$sign{up} start col$sign{_}umn"],
-'i^gj' => ["$sign{down} start col$sign{_}umn"],
-'i^gu' => ["break undo seq$sign{_}uence"],
-# other i^g keys (even esc) are not recognized
+       "i^g\e"=> "insert mode",
+       'i^gk' => "<up> start col<>umn",
+       'i^gj' => "<down> start col<>umn",
+       'i^gu' => "break undo seq<>uence",
+       # other i^g keys (even esc) are not recognized
 
-'i^x^[' => ["esc"],
-'i^x^]' => ["tag comp$sign{_}l$sign{_}et$sign{_}e"],
-'i^x^d' => ["def$sign{_}ine compl$sign{_}et$sign{_}e"],
-'i^x^e' => ["window up"],
-'i^x^f' => ["file comp$sign{_}l$sign{_}et$sign{_}e"],
-'i^x^i' => ["ident comp$sign{_}l$sign{_}et$sign{_}e"],
-'i^x^k' => ["dict comp$sign{_}l$sign{_}et$sign{_}e"],
-'i^x^l' => ["line comp$sign{_}l$sign{_}et$sign{_}e"],
-'i^x^n' => ["next comp$sign{_}l$sign{_}et$sign{_}e"],
-'i^x^o' => ["omni comp$sign{_}l$sign{_}et$sign{_}e"],
-'i^x^p' => ["prev comp$sign{_}l$sign{_}ete"],
-'i^x^s' => ["spell sugg$sign{_}est"],
-'i^x^t' => ["thes$sign{_}aur$sign{_}us compl$sign{_}et$sign{_}e"],
-'i^x^u' => ["cus$sign{_}tom comp$sign{_}l$sign{_}et$sign{_}e"],
-'i^x^v' => ["ex cmd compl$sign{_}et$sign{_}e"],
-'i^x^y' => ["window down"],
+       "i^x\e" => "normal mode",
+       'i^x^]' => "tag comp<>l<>et<>e",
+       'i^x^d' => "def<>ine compl<>et<>e",
+       'i^x^e' => "window up",
+       'i^x^f' => "file comp<>l<>et<>e",
+       'i^x^i' => "ident comp<>l<>et<>e",
+       'i^x^k' => "dict comp<>l<>et<>e",
+       'i^x^l' => "line comp<>l<>et<>e",
+       'i^x^n' => "next comp<>l<>et<>e",
+       'i^x^o' => "omni comp<>l<>et<>e",
+       'i^x^p' => "prev comp<>l<>ete",
+       'i^x^s' => "spell sugg<>est",
+       'i^x^t' => "thes<>aur<>us compl<>et<>e",
+       'i^x^u' => "cus<>tom comp<>l<>et<>e",
+       'i^x^v' => "ex cmd compl<>et<>e",
+       'i^x^y' => "window down",
 
-# XXX ex mode if you want to go completely wild
+       # XXX ex mode if you want to go completely wild
 },
 
 mode => {
@@ -452,7 +455,7 @@ mode => {
        '^wg' => "extended window commands (ctrl-w g)",
         v    => "visual mode",
         vg   => "extended visual commands (v g)",
-        va   => 'text object selection (v a/i)',
+        va   => "text object selection (v a/i)",
 #       c    => "command-line mode",
         i    => "insert mode",
        'i^g' => "extended insert commands (i ctrl-g)",
@@ -460,19 +463,20 @@ mode => {
 },
 
 flag => {
-       ci => ["info", "Info command: shows/does something without altering anything."],
-       pm => ["motion", "Moves the cursor, or defines the range for an operator (<:= $sign{motion} :>)."],
-       po => ["positioning", "Other movement (jumps, window (re)positioning)."],
-       co => ["command", "Direct action command."],
-       mi => ["ins mode", "Enters Insert or Replace mode."],
-       mo => ["mode", "Enters a different mode."],
-       mv => ["vis mode", "Enters Visual or Select mode."],
-       me => ["key cmd", "Additional key commands (click for overview)."],
+       g1 => ["info", "Info command: shows/does something without altering anything."],
+       g2 => ["motion", "Moves the cursor, or defines the range for an operator (<motion>)."],
+       g3 => ["positioning", "Other movement (jumps, window (re)positioning)."],
+       g4 => ["command", "Direct action command."],
+       g6 => ["ins mode", "Enters Insert or Replace mode."],
+       g7 => ["mode", "Enters a different mode."],
+       g8 => ["vis mode", "Enters Visual or Select mode."],
+       g9 => ["key cmd", "Additional key commands (click for overview)."],
 
-       arg => ["key$sign{arg}", "Commands with a dot need a char argument afterwards."],
-       motion => ["key$sign{motion}", "Requires a motion afterwards, operates between cursor and destination."],
+       arg => ["key<arg>", "Commands with a dot need a char argument afterwards."],
+       motion => ["key<motion>", "Requires a motion afterwards, operates between cursor and destination."],
        'ext vim6' => ["vim", "Not in original Vi (assessment incomplete)."],
        'ext new vim7' => ["vim7", "New in vim version 7.x."],
 },
 
+def => do 'vi.inc.pl',
 }