-use utf8;
-{
-
- '' => {
- '~' => "g4 undo",
- '!' => "g4 argm undo modec",
- '@' => "g4 arg undo",
- '#' => "g2 ext vim6",
- '$' => "g2",
- '%' => "g2",
- '^' => "g2",
- '&' => "g4 undo",
- '*' => "g2 ext vim6",
- '(' => 'g2',
- ')' => 'g2',
- '_' => "g2",
- '+' => "g2",
- '`' => "g2 arg",
- '0' => "g2",
- '^^'=> "g4",
- '-' => "g2",
- '=' => 'g4 argm undo',
- '?' => "g2 arg modec",
- ';' => "g2",
- ':' => "g4 modec",
- "'" => "g2 arg",
- '"' => 'g4 arg',
- '\\' => 'g9 arg',
- '^\\' => "g7 arg",
- ',' => "g2",
- '<' => "g4 argm undo",
- '.' => "g4 undo",
- '>' => "g4 argm undo",
- '/' => "g2 arg modec",
- '[' => "g9 arg mode[",
- '{' => "g2",
- ']' => "g9 arg mode]",
- '}' => "g2",
- '^]'=> "g3",
- '|' => "g2",
-
- 'a' => "g6 undo modei",
- 'A' => "g6 undo modei",
- '^a'=> "g4 undo",
- 'b' => "g2",
- 'B' => "g2",
- '^b'=> "g2",
- 'c' => "g6 argm undo modei",
- 'C' => "g6 undo modei",
- '^c'=> "g4",
- 'd' => "g4 argm undo",
- 'D' => "g4 undo",
- '^d'=> "g3",
- 'e' => "g2",
- 'E' => "g2",
- '^e'=> "g3",
- 'f' => "g2 arg",
- 'F' => "g2 arg",
- '^f'=> "g2",
- 'g' => "g9 arg modeg",
- 'G' => "g2",
- '^g'=> "g1",
- 'h' => "g2",
- 'H' => "g2",
- '^h'=> "=h",
- 'i' => "g6 undo modei",
- 'I' => "g6 undo modei",
- '^i'=> "g2 ext vim6",
- 'j' => "g2",
- 'J' => "g4 undo",
- '^j'=> "=j",
- 'k' => "g2",
- 'K' => "g4",
- 'l' => "g2",
- 'L' => "g2",
- '^l'=> "g1",
- 'm' => "g4 arg",
- 'M' => "g2",
- '^m'=> "=+",
- 'n' => "g2",
- 'N' => "g2",
- '^n'=> "=j",
- 'o' => "g6 undo modei",
- 'O' => "g6 undo modei",
- '^o'=> "g2 ext vim6",
- 'p' => "g4 undo",
- 'P' => "g4 undo",
- '^p'=> "=k",
- 'q' => "g7 arg",
- 'Q' => "g7",
- '^q'=> "g1", # or ^v
- 'r' => "g4 arg undo",
- 'R' => "g6 undo modei",
- '^r'=> "g4 undo ext vim6",
- 's' => "g6 undo modei",
- 'S' => "g6 undo modei",
- '^s'=> "g1",
- 't' => "g2 arg",
- 'T' => "g2 arg",
- '^t'=> "g3",
- 'u' => "g4 undo",
- 'U' => "g4 undo",
- '^u'=> "g3",
- 'v' => "g8 modev",
- 'V' => "g8 modev",
- '^v'=> "g8 modev ext vim6",
- 'w' => "g2",
- 'W' => "g2",
- '^w'=> "g9 arg mode^w",
- 'x' => "g4 undo",
- 'X' => "g4 undo",
- '^x'=> "g4 undo",
- 'y' => "g4 argm",
- 'Y' => "g4",
- '^y'=> "g3",
- 'z' => "g9 arg modez",
- 'Z' => "g9 arg modeZ",
- '^z'=> "g1",
- }, # normal mode
-
- g => {
- lead => "g",
-
- "\e"=> "g7 mode",
-
- '~' => "g4 argm ext vim6",
- '@' => "g4 ext vim7 new",
- '#' => "g2 ext vim6",
- '$' => "g2",
- '^' => "g2 ext vim6",
- '&' => "g4",
- '*' => "g2 ext vim6",
- '_' => "g2 ext vim6",
- '+' => "g4 ext vim7 new",
- '`' => "g2 ext vim6 arg",
- '8' => "g1",
- '0' => "g2 ext vim6",
- '-' => "g4 ext vim7 new",
- '^['=> "g7 mode",
- ']' => "g3",
- '^]'=> "g3",
- ';' => "g2",
- "'" => "g2 ext vim6 arg",
- '<' => "g4 ext vim7 new",
- '?' => "g4 argm ext vim6",
- ',' => "g2",
-
- 'a' => "g1",
- '^a'=> "g1",
- 'd' => "g2 ext vim6",
- 'D' => "g2 ext vim6",
- 'e' => "g2",
- 'E' => "g2",
- 'f' => "g4 ext vim6",
- 'F' => "g4 ext vim7 new",
- 'g' => "g2",
- '^g'=> "g1 vim6",
- 'h' => "g8 modev",
- 'H' => "g8 modev",
- '^h'=> "g8 modev ext vim6",
- 'i' => "g6 undo modei",
- 'I' => "g6 undo modei",
- 'j' => "g2 ext vim6",
- 'J' => "g4",
- 'k' => "g2 ext vim6",
- 'm' => "g2 ext vim6",
- 'o' => "g2",
- 'p' => "g4 undo",
- 'P' => "g4",
- 'q' => "g4 argm",
- 'Q' => "g7 ext vim6",
- 'r' => "g4 arg",
- 'R' => "g6 undo modei",
- 's' => "g1 ext vim6",
- 't' => "g3 ext vim7 new",
- 'T' => "g3 ext vim7 new",
- 'u' => "g4 argm ext vim6", # XXX undo?
- 'U' => "g4 undo argm ext vim6",
- 'v' => 'g8 modev',
- 'V' => "g4",
- 'w' => "g4 argm ext vim7 new",
- 'x' => "g4 ext vim7 new",
- }, # mode g
-
- Z => {
- lead => "Z",
-
- "\e"=> "g7 mode",
- '^['=> "=\e",
-
- 'Q' => "g4 ext vim6",
- 'Z' => "g4",
- }, # mode Z
-
- z => {
- lead => "z",
-
- "\e"=> "g7 mode",
-
- '^' => "g3",
- '+' => "g3",
- '-' => "g3",
- '=' => "g4 ext vim7 new",
- '.' => "g3",
- '^['=> "=\e",
-
- 'a' => "g4 ext vim6 folding",
- 'A' => "g4 ext vim6 folding",
- 'b' => "g3",
- 'c' => "g4 ext vim6 folding",
- 'C' => "g4 ext vim6 folding",
- 'd' => "g4 ext vim6 folding",
- 'D' => "g4 ext vim6 folding",
- 'e' => "g3",
- 'E' => "g4 ext vim6 folding",
- 'f' => "g4 argm ext vim6 folding",
- 'F' => "g4 ext vim6 folding",
- 'g' => "g4 ext vim7 new",
- 'G' => "g4 ext vim7 new",
- 'h' => "g3",
- 'H' => "g3",
- 'i' => "g4 ext vim6 folding",
- 'j' => "g2 ext vim6 folding",
- 'k' => "g2 ext vim6 folding",
- 'l' => "g3",
- 'L' => "g3",
- '^m'=> "g3",
- 'm' => "g4 ext vim6 folding",
- 'M' => "g4 ext vim6 folding",
- 'n' => "g4 ext vim6 folding",
- 'N' => "g4 ext vim6 folding",
- 'o' => "g4 ext vim6 folding",
- 'O' => "g4 ext vim6 folding",
- 'r' => "g4 ext vim6 folding",
- 'R' => "g4 ext vim6 folding",
- 's' => "g3",
- 't' => "g3",
- 'u' => "g4 arg ext vim7 new",
- 'v' => "g4 ext vim6 folding",
- 'w' => "g4 ext vim7 new",
- 'W' => "g4 ext vim7 new",
- 'x' => "g4 ext vim6 folding",
- 'X' => "g4 ext vim6 folding",
- 'z' => "g3",
- }, # mode z
-
- '[' => {
- lead => "[",
-
- "\e"=> "g7 mode",
-
- "`" => "g2 ext vim6",
- '#' => "g2",
- '(' => "g2",
- '*' => "=[/",
- '/' => "g2",
- "'" => "=[` ^", # ext vim6
- '{' => "g2",
- '[' => "g2",
- '^['=> "=\e",
- ']' => "g2",
-
- 'c' => "g2",
- 'd' => "g1",
- 'D' => "g4",
- '^d'=> "g3",
- 'f' => "=gf", # deprecated
- 'i' => 'g1',
- 'I' => 'g4',
- '^i'=> 'g3',
- 'm' => "g2",
- 'p' => "g4",
- 'P' => "g4",
- 's' => "g3 ext vim7 new",
- 'S' => "g3 ext vim7 new",
- 'z' => "g2 ext vim6 folding",
- }, # mode [
-
- ']' => {
- lead => "]",
-
- "\e"=> "g7 mode",
-
- "`" => "g2 ext vim6",
- '#' => "g2",
- ')' => "g2",
- '*' => "=]/",
- "'" => "=]` ^", # ext vim6
- '/' => "g2",
- '[' => "g2",
- '^['=> "=\e",
- ']' => "g2",
- '}' => "g2",
-
- 'c' => "g2",
- 'd' => "g1",
- 'D' => "g4",
- '^d'=> "g3",
- 'f' => "=gf", # deprecated
- 'i' => "g1",
- 'I' => "g4",
- '^i'=> "g3",
- 'm' => "g2",
- 'p' => "g4",
- 'P' => "=[p",
- 's' => "g3 ext vim7 new",
- 'S' => "g3 ext vim7 new",
- 'z' => "g2 ext vim6 folding",
- }, # mode ]
-
- '^w' => {
- lead => "ŵ",
-
- "\e"=> "g7 mode",
-
- '<' => "g3",
- '>' => "g3",
- '^' => "g4",
- '_' => "g3",
- '+' => "g3",
- '-' => "g3",
- '=' => "g3",
- '^['=> "=\e",
- ']' => "g3",
- '}' => "g3",
- '|' => "g3",
-
- 'b' => "g3",
- 'c' => "g3",
- '^c'=> "g7 mode",
- 'd' => "g3",
- 'f' => "g4",
- 'F' => "g4 ext vim7 new",
- 'g' => "g9 arg mode^wg",
- 'h' => "g3",
- 'H' => "g3",
- 'i' => "g3",
- 'j' => "g3",
- 'J' => "g3",
- 'k' => "g3",
- 'K' => "g3",
- 'l' => "g3",
- 'L' => "g3",
- 'n' => "g4",
- 'o' => "g3",
- 'p' => "g3",
- 'P' => "g3",
- 'q' => "g4",
- 'r' => "g3",
- 'R' => "g3",
- 's' => "g3",
- 'S' => "=^ws",
- 't' => "g3",
- 'v' => "g3",
- 'w' => "g3",
- 'W' => "g3",
- 'x' => "g3",
- 'z' => "g3",
- }, # mode ^w
-
- '^wg' => {
- lead => "ŵg",
-
- "\e"=> "g7 mode",
- '^['=> "=\e",
- ']' => "g3",
- '}' => "g3",
- '^]'=> "g3",
- 'f' => "g4 ext vim7 new",
- 'F' => "g4 ext vim7 new",
- }, # mode ^w g
-
- v => {
- "\e"=> "g7 mode",
-
- '!' => "g4",
- ':' => "g7 modec",
- '<' => "g4",
- '=' => 'g4 undo',
- '>' => 'g4',
- '~' => "g4 ext vim6",
- '^['=> "=\e",
- '^]'=> "g3",
- '^\\'=>'^\\',
-
- 'a' => 'g9 modeva arg ext vim6',
- 'A' => 'g6 modei ext vim6',
- 'c' => 'g6 modei ext vim6',
- 'C' => 'g6 modei ext vim6',
- '^c'=> "g7 mode",
- 'd' => "g4 ext vim6",
- 'D' => "g4 ext vim6",
- 'g' => "g9 arg modevg",
- '^g'=> "g8",
- '^h'=> 'g4',
- 'i' => "g9 modeva arg ext vim6",
- 'I' => "g6 modei ext vim6", # block
- 'J' => "g4",
- 'K' => 'g4',
- 'o' => "g2",
- 'O' => "g2",
- '^o'=> "g8",
- 'p' => 'g4',
- 'P' => 'g4',
- '^q'=> "=^q",
- 'r' => 'g4 arg',
- 'R' => "=vS", # "might change in future"
- '^s'=> "=^s",
- 's' => "=vc",
- 'S' => 'g6 modei ext vim6',
- 'u' => "g4 ext vim6",
- 'U' => "g4 ext vim6",
- 'v' => "g8",
- 'V' => "g8",
- '^v'=> "g8 ext vim6",
- 'x' => "=vd",
- 'X' => "=vD",
- 'y' => "g4",
- 'Y' => "g4",
-
- map { $_ => "=$_" } qw(
- b B ^b ^d e E ^e f F ^f G h H ^i j ^j k l L m M ^m
- n N ^n ^p q ^s t T ^u w W ^w ^y z ^z
- ` # $ % ^ * ( 0 ) [ { ] } ; / ? + - _ |
- ) # a lot like normal mode
- }, # mode v
-
- vg => {
- lead => "g",
-
- "\e"=> "g8 modev",
-
- '^['=> "=\e",
- '?' => "g4 ext vim6",
- '^g' => "g1 vim6",
- 'J' => 'g4 ext vim6',
- 'q' => "g4 ext vim6",
- 'v' => "=gv",
- 'w' => 'g4 ext vim7 new',
- }, # mode v g
-
- va => {
- "\e"=> "g8 modev",
-
- '(' => "=vab",
- ')' => "=vab",
- '`' => "=va'",
- "'" => 'g2 ext vim7 new',
- '"' => "=va'",
- '<' => 'g2 ext vim6',
- '>' => "=va<",
- '[' => 'g2 ext vim6',
- '{' => "=vaB",
- '^['=> "=\e",
- ']' => "=va[",
- '}' => "=vaB",
-
- 'b' => 'g2 ext vim6',
- 'B' => 'g2 ext vim6',
- 'p' => 'g2 ext vim6',
- 's' => 'g2 ext vim6',
- 't' => 'g2 ext vim7 new',
- 'w' => 'g2 ext vim6',
- 'W' => 'g2 ext vim6',
- }, # mode v a
-
- #c => {
- # desc => "command-line mode",
- #
- # '^_' => "=i^_",
- # '^^' => "=i^^",
- # '^\\'=>'^\\',
- # '^a' => "", #todo
- # '^b' => "g3",
- # '^c' => "=i^c",
- # '^d' => "", #todo
- # '^e' => "g3",
- # '^h' => "=i^h",
- # '^j' => "g4",
- # '^k' => "=i^k",
- # '^l' => "", #todo
- # '^n' => "", #todo
- # '^p' => "", #todo
- # '^r' => "=i^r", # and then some...
- # ## ["g4 arg ext vim6"],
- # '^q' => "=^q",
- # '^u' => "=i^u",
- # '^v' => "=i^v",
- # '^w' => "=i^w",
- # '^y' => "g4",
- #}, # mode c
-
- i => {
- "\e" => "g7 mode",
-
- '^@' => "g4",
- '^^' => "g4 ext vim6",
- '^['=> "=\e",
- '^]' => "g4 ext vim6",
- '^_' => "g4 ext vim6",
- '^\\'=>'^\\',
-
- '^a' => "g4 ext vim6",
- '^b' => "no ext vim6",
- '^c' => "g7 mode",
- '^d' => 'g4',
- '^e' => "g4 ext vim6",
- '^f' => 'g4',
- '^g' => "g9 modei^g arg",
- '^h' => "g4",
- '^i' => "g4",
- '^j' => "g4",
- '^k' => 'g4 arg arg ext vim6 linkdigraphs',
- '^l' => "g7 mode ext vim6", # insertmode only
- '^m' => "g4",
- '^n' => "g2 ext vim6",
- '^o' => 'g4',
- '^p' => "g2 ext vim6",
- '^q' => "=^q", # or i^v
- '^r' => 'g4 arg ext vim6',
- '^s' => "=^s",
- '^t' => "g4",
- '^u' => "g4",
- '^v' => 'g4 linkcharset',
- '^w' => "g4",
- '^x' => 'g9 arg modei^x ext vim6',
- '^y' => "g4 ext vim6",
- '^z' => "g1 ext vim6", # insertmode only
- }, # modei
-
- 'i^g' => {
- lead => "ĝ",
-
- "\e"=> 'g6 modei',
-
- 'k' => 'g2',
- 'j' => 'g2',
- 'u' => 'g4',
- # other keys (even esc) are not recognized
- }, # mode i ^g
-
- 'i^x' => {
- lead => "x̂",
-
- "\e" => "g7 mode", # yes, it really leaves insert mode
-
- '^['=> "=\e",
- '^]' => 'g4',
- '^d' => 'g4',
- '^e' => "g3",
- '^f' => 'g4',
- '^i' => 'g4',
- '^k' => 'g4',
- '^l' => 'g4',
- '^n' => 'g4',
- '^o' => 'g4 ext vim7 new',
- '^p' => 'g4',
- '^s' => 'g4',
- 's' => "=i^x^s",
- '^t' => 'g4',
- '^u' => 'g4 ext vim7 new',
- '^v' => 'g4',
- '^y' => "g3",
- }, # mode i ^x
-
- # XXX ex mode if you want to go completely wild
-}