X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/3bfa29782285fd9a9fefcaf21fa0aa7df776d88b..8906eed99fd6e7be8f39bd77dcde3effa29e50df:/vi.inc.pl diff --git a/vi.inc.pl b/vi.inc.pl index 213c85d..7654d94 100644 --- a/vi.inc.pl +++ b/vi.inc.pl @@ -1,567 +1,567 @@ 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 + '' => { + '~' => "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 }