X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/23a77ad01b96149db5e07121c09481dd1c5d9b4a..4cb7094afb688fd2ab4fff6a8c1fa2fa9e117b02:/vi.inc.pl diff --git a/vi.inc.pl b/vi.inc.pl index a4a20e8..213c85d 100644 --- a/vi.inc.pl +++ b/vi.inc.pl @@ -1,420 +1,424 @@ use utf8; +{ '' => { - desc => "normal mode", - - '~' => ["case toggle", "co undo"], - '!' => ["filt$sign{_}er lines", "co argm undo modec"], - '@' => ["play macro", "co arg undo"], - '#' => ["rev. find word", "pm ext vim6"], - '$' => ["eol", "pm"], - '%' => ["goto match", "pm"], - '^' => ['"soft" bol', "pm"], - '&' => [":s rep$sign{_}eat", "co undo"], - '*' => ["find word", "pm ext vim6"], - '(' => ["begin senten$sign{_}ce", 'pm'], - ')' => ["end senten$sign{_}ce", 'pm'], - '_' => ['"soft" bol down', "pm"], - '+' => ["next line", "pm"], - '`' => ["goto mark", "pm arg"], - '0' => ['"hard" bol', "pm"], - '^^'=> ["edit alt. file", "co"], - '-' => ["prev line", "pm"], - '=' => ["re$sign{_}ind$sign{_}ent", 'co argm undo'], - '?' => ["find rev.", "pm arg modec"], - ';' => ["repeat t/f/T/F", "pm"], - ':' => ["ex cmd line", "co modec"], - "'" => ["goto mark bol", "pm arg"], - '"' => ["use reg$sign{_}ister", 'co arg'], - '\\' => ["reser$sign{_}ved", 'me arg'], - '^\\' => ["to mode/$sign{_}ext$sign{_}ens$sign{_}ion$sign{_}s", "mo arg"], - ',' => ["reverse t/T/f/F", "pm"], - '<' => ["un$sign{_}ind$sign{_}ent", "co argm undo"], - '.' => ["repeat last cmd", "co undo"], - '>' => ["ind$sign{_}ent", "co argm undo"], - '/' => ["find", "pm arg modec"], - '[' => ["move back$sign{_}ward$sign{_}s", "me arg mode["], - '{' => ["begin parag.", "pm"], - ']' => ["move forw$sign{_}ard", "me arg mode]"], - '}' => ["end parag.", "pm"], - '^]'=> ["go to tag", "po"], - '|' => ["goto (1st) col", "pm"], - - 'a' => ["app$sign{_}end", "mi undo modei"], - 'A' => ["app$sign{_}end to eol", "mi undo modei"], - '^a'=> ["incr$sign{_}ement", "co undo", "Add one"], - 'b' => ["prev word", "pm", "Back"], - 'B' => ['prev word', "pm"], - '^b'=> ["page up", "pm"], - 'c' => ["chan$sign{_}ge", "mi argm undo modei"], - 'C' => ["chan$sign{_}ge to eol", "mi undo modei"], - '^c'=> ["abort", "co"], - 'd' => ["del$sign{_}ete", "co argm undo"], - 'D' => ["delete to eol", "co undo"], - '^d'=> ["scroll down", "po"], - 'e' => ["end word", "pm"], - 'E' => ['end word', "pm"], - '^e'=> ["window down", "po", "Extra line"], - 'f' => ["fwd to char", "pm arg"], - 'F' => ["back$sign{_}wd to char", "pm arg"], - '^f'=> ["page down", "pm", "page Forward"], - 'g' => ["extra cmds", "me arg modeg"], - 'G' => ["eof/$sign{_}goto ln", "pm"], - '^g'=> [":file (info)", "ci"], - 'h' => [$sign{left}, "pm"], - 'H' => ["screen top", "pm", 'Home row'], - '^h'=> "h", - 'i' => ["insert mode", "mi undo modei"], - 'I' => ["insert at bol", "mi undo modei"], - '^i'=> ["jump to newer", "pm ext vim6", 'Increase position'], - 'j' => [$sign{down}, "pm"], - 'J' => ["join lines", "co undo"], - '^j'=> "j", - 'k' => [$sign{up}, "pm"], - 'K' => ["help", "co", "looKup Keyword"], - 'l' => [$sign{right}, "pm"], - 'L' => ["screen bottom", "pm", "Lowermost Line"], - '^l'=> ["redraw", "ci"], - 'm' => ["set mark", "co arg"], - 'M' => ["screen mid$sign{_}dle", "pm"], - '^m'=> "+", - 'n' => ["next find", "pm"], - 'N' => ["prev find", "pm"], - '^n'=> "j", - 'o' => ["line below", "mi undo modei", 'Open'], - 'O' => ["line above", "mi undo modei"], - '^o'=> ["jump to older", "pm ext vim6"], - 'p' => ["paste after", "co undo"], - 'P' => ["paste before", "co undo"], - '^p'=> "k", - 'q' => ["rec$sign{_}ord macro", "mo arg", "Queue seQuence"], - 'Q' => ["ex mode", "mo"], - '^q'=> ["(xon)", "ci", 'Qome back'], # or ^v - 'r' => ["repl$sign{_}ace char", "co arg undo"], - 'R' => ["repl$sign{_}ace mode", "mi undo modei"], - '^r'=> ["redo", "co undo ext vim6"], - 's' => ["subst char", "mi undo modei"], - 'S' => ["subst line", "mi undo modei"], - '^s'=> ["(xoff)", "ci", 'Stop'], - 't' => ["till char", "pm arg"], - 'T' => ["back till char", "pm"], - '^t'=> ["back tag", "po"], # backtrag :P - 'u' => ["undo", "co undo"], - 'U' => ["undo line", "co undo"], - '^u'=> ["scroll up", "po"], - 'v' => ["visual mode", "mv modev"], - 'V' => ["visual lines", "mv modev"], - '^v'=> ["visual block", "mv modev ext vim6"], - 'w' => ["next word", "pm"], - 'W' => ['next word', "pm"], - '^w'=> ["win$sign{_}dow cmds", "me arg mode^w"], - 'x' => ["delete char", "co undo"], - 'X' => ["back$sign{_}space", "co undo"], - '^x'=> ["subs$sign{_}tract", "co undo"], - 'y' => ["yank", "co argm", '(copy)'], - 'Y' => ["yank line", "co"], - '^y'=> ["window up", "po", 'Yield'], - 'z' => ["extra cmds", "me arg modez"], - 'Z' => ["quit", "me arg modeZ"], - '^z'=> [":sus$sign{_}pend", "ci", 'zzz (as in sleep)'], + '~' => "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 => { - desc => "extended commands (g)", lead => "g", - '~' => ["case toggl$sign{_}e", "co argm ext vim6"], - '@' => ["oper$sign{_}at$sign{_}or$sign{_}func", "co ext vim7 new"], - '#' => ["rev. find string", "pm ext vim6"], - '$' => ["virt$sign{_}ual eol", "pm"], - '^' => [qq'"soft" bol v$sign{_}irt$sign{_}ual', "pm ext vim6"], - '&' => [":s rep$sign{_}eat glob$sign{_}al$sign{_}ly", "co", "Global substitute"], - '*' => ["find string", "pm ext vim6"], - '_' => [qq'"soft" eol', "pm ext vim6"], - '+' => ["later undo", "co ext vim7 new"], - '`' => ["to mark keepj$sign{_}umps", "pm ext vim6 arg"], - '8' => ["char hex val$sign{_}ue$sign{_}s", "ci"], - '0' => ["virtual bol", "pm ext vim6"], - '-' => ["earlier undo", "co ext vim7 new"], - '^['=> ["esc", "mo mode"], - ']' => ["go to tselect", "po"], - '^]'=> ["go to tjump", "po"], - ';' => ["to prev change pos", "pm"], - "'" => ["to mark keepj$sign{_}umps", "pm ext vim6 arg"], - '<' => ["see prev cmd output", "co ext vim7 new"], - '?' => ["rot13 encode", "co argm ext vim6"], - ',' => ["to next change pos", "pm"], - - 'a' => ["char value", "ci", "Get Ascii value"], - '^a'=> ["mem usage stats", "ci"], - 'd' => ["local declar$sign{_}ation", "pm ext vim6"], - 'D' => ["global declar$sign{_}ation", "pm ext vim6"], - 'e' => ["back to word end", "pm"], - 'E' => [qq'back to word end', "pm"], - 'f' => ["edit file at cur$sign{_}sor", "co ext vim6", "Goto File"], - 'F' => ["edit file + jump", "co ext vim7 new"], - 'g' => ["first line", "pm"], - '^g'=> ["cur$sign{_}sor pos info", "ci"], - 'h' => ["select mode", "mv modev", "Get Highlighted"], - 'H' => ["select lines", "mv modev", "Get Highlighted"], - '^h'=> ["select block", "mv modev ext vim6", "Get Highlighted"], - 'i' => ["insert at last pos", "mi undo modei"], - 'I' => ["insert at soft bol", "mi undo modei"], - 'j' => ["$sign{down} screen", "pm ext vim6"], - 'J' => ["join leave spac$sign{_}ing", "co"], - 'k' => ["$sign{up} screen", "pm ext vim6"], - 'm' => ["cen$sign{_}ter screen", "pm ext vim6"], - 'o' => [":goto (byte)", "pm"], - 'p' => ["paste still", "co undo"], - 'P' => ["paste before still", "co"], - 'q' => ["for$sign{_}mat", "co argm"], - 'Q' => ["ex mode manual :", "mo ext vim6"], - 'r' => ["virt. repl$sign{_}ace char", "co arg"], - 'R' => ["virt. repl$sign{_}ace mode", "mi undo modei"], - 's' => ["sleep", "ci ext vim6", "Go to Sleep"], - 't' => ["next tab", "po ext vim7 new", "Goto Tab"], - 'T' => ["tab back", "po ext vim7 new"], - 'u' => ["lower$sign{_}case", "co argm ext vim6"], # XXX undo? - 'U' => ["up$sign{_}per$sign{_}case", "co undo argm ext vim6"], - 'v' => ["prev$sign{_}ious highl$sign{_}ight", 'mv modev', 'precedinG Visual'], - 'V' => ["avoid resel$sign{_}ect$sign{_}ion", "co"], - 'w' => ["for$sign{_}mat still", "co argm ext vim7 new"], - 'x' => ["Netrw$sign{_}BrowseX", "co ext vim7 new"], + "\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 => { - desc => "quit commands", lead => "Z", - '^['=> ["esc", "mo mode"], + "\e"=> "g7 mode", + '^['=> "=\e", - 'Q' => [" :q! (force)", "co ext vim6"], - 'Z' => [" :wq (write)", "co"], + 'Q' => "g4 ext vim6", + 'Z' => "g4", }, # mode Z z => { - desc => "additional commands (z)", lead => "z", - '^' => ["page above", "po"], - '+' => ["page below", "po"], - '-' => ["line at bottom bol", "po", "don't (-) see any further"], - '=' => ["sug$sign{_}gest spell$sign{_}ing", "co ext vim7 new"], - '.' => ["line at center bol", "po"], - '^['=> ["esc", "mo mode"], - - 'a' => ["toggle fold", "co ext vim6 folding"], - 'A' => ["toggle fold rec$sign{_}urs$sign{_}ive$sign{_}ly", "co ext vim6 folding"], - 'b' => ["line at bot. bol", "po"], - 'c' => ["close fold", "co ext vim6 folding"], - 'C' => ["close folds rec$sign{_}curs$sign{_}ive$sign{_}ly", "co ext vim6 folding"], - 'd' => ["delete fold", "co ext vim6 folding"], - 'D' => ["delete folds rec$sign{_}urs$sign{_}ive", "co ext vim6 folding"], - 'e' => ["cursor at right side", "po"], - 'E' => ["elimi$sign{_}nate f$sign{_}olds", "co ext vim6 folding"], - 'f' => ["create fold", "co argm ext vim6 folding"], - 'F' => ["fold lines", "co ext vim6 folding"], - 'g' => ["add spell$sign{_}ing", "co ext vim7 new", 'Good word'], - 'G' => ["temp spell$sign{_}ing", "co ext vim7 new"], - 'h' => ["scroll $sign{right}", "po"], - 'H' => ["scroll $sign{right} half scr$sign{_}een", "po"], - 'i' => ["toggle all folds", "co ext vim6 folding"], - 'j' => ["next fold start", "pm ext vim6 folding"], - 'k' => ["prev fold end", "pm ext vim6 folding"], - 'l' => ["scroll $sign{left}", "po"], - 'L' => ["scroll $sign{left} half scr$sign{_}een", "po"], - '^m'=> ["line at top bol", "po"], - 'm' => ["fold more", "co ext vim6 folding"], - 'M' => ["close all folds", "co ext vim6 folding"], - 'n' => ["fold none", "co ext vim6 folding"], - 'N' => ["fold norm$sign{_}al", "co ext vim6 folding"], - 'o' => ["open fold", "co ext vim6 folding"], - 'O' => ["open folds rec$sign{_}urs$sign{_}ive$sign{_}ly", "co ext vim6 folding"], - 'r' => ["reduce folding", "co ext vim6 folding"], - 'R' => ["open all folds", "co ext vim6 folding"], - 's' => ["cursor at left side", "po"], - 't' => ["line at top", "po"], - 'u' => ["undo spell$sign{_}ing", "co arg ext vim7 new"], - 'v' => ["unfold cursor line", "co ext vim6 folding"], - 'w' => ["add missp$sign{_}ell$sign{_}ing", "co ext vim7 new", "Wrong word"], - 'W' => ["temp missp$sign{_}ell$sign{_}ing", "co ext vim7 new"], - 'x' => ["update folds", "co ext vim6 folding"], - 'X' => ["re$sign{_}apply f$sign{_}olds", "co ext vim6 folding"], - 'z' => ["line at center", "po", "Zee Zenter (with a funny accent)"], + "\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 '[' => { - desc => "backward search commands ([)", lead => "[", - "`" => ["previous lc mark", "pm ext vim6"], - '#' => ["previous open #if$sign{_}/#else", "pm"], - '(' => ["previous open (", "pm"], - '*' => "[/", - '/' => ["start of C com$sign{_}m$sign{_}ent", "pm"], - "'" => "[` ^", # ext vim6 - '{' => ["previous open {", "pm"], - '[' => ["section back$sign{_}ward$sign{_}s", "pm"], - '^['=> ["esc", "mo mode"], - ']' => [qq'section back$sign{_}ward$sign{_}s', "pm"], - - 'c' => ["start of change backw$sign{_}ards", "pm"], - 'd' => ["define line", "ci"], - 'D' => ["defin$sign{_}ition", "co"], - '^d'=> ["to defin$sign{_}it$sign{_}ion", "po"], - 'f' => "gf", # deprecated - 'i' => ["first occur$sign{_}renc$sign{_}e line", 'ci'], - 'I' => ["first occur$sign{_}renc$sign{_}e", 'co'], - '^i'=> ["to first occur$sign{_}renc$sign{_}e", 'po'], - 'm' => ["start of funct$sign{_}ion", "pm"], - 'p' => ["P reind$sign{_}ent$sign{_}ed", "co"], - 'P' => ["[p", "co"], - 's' => ["last missp$sign{_}ell$sign{_}ing", "po ext vim7 new"], - 'S' => ["last bad word", "po ext vim7 new"], - 'z' => ["start of open fold", "pm ext vim6 folding"], + "\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 [ ']' => { - desc => "forward search commands (])", lead => "]", - "`" => ["next lc mark", "pm ext vim6"], - '#' => ["next open #endif$sign{_}/#else", "pm"], - ')' => ["next open )", "pm"], - '*' => "]/", - "'" => "]` ^", # ext vim6 - '/' => ["end of C com$sign{_}m$sign{_}ent", "pm"], - '[' => [qq'section forw$sign{_}ard', "pm"], - '^['=> ["esc", "mo mode"], - ']' => ["section forw$sign{_}ard", "pm"], - '}' => ["next open }", "pm"], - - 'c' => ["start of change forw$sign{_}ards", "pm"], - 'd' => ["next define line", "ci"], - 'D' => ["next define", "co"], - '^d'=> ["to next define", "po"], - 'f' => "gf", # deprecated - 'i' => ["next occur$sign{_}renc$sign{_}e line", "ci"], - 'I' => ["next occur$sign{_}renc$sign{_}e", "co"], - '^i'=> ["to occur$sign{_}renc$sign{_}e", "po"], - 'm' => ["end of funct$sign{_}ion", "pm"], - 'p' => ["p reind$sign{_}ent$sign{_}ed", "co"], - 'P' => "[p", - 's' => ["next missp$sign{_}ell$sign{_}ing", "po ext vim7 new"], - 'S' => ["next bad word", "po ext vim7 new"], - 'z' => ["end of open fold", "pm ext vim6 folding"], + "\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' => { - desc => "window commands (ctrl-w)", - lead => $ascii ? "'w" : "ŵ", - - '<' => ["width decr$sign{_}ease", "po"], - '>' => ["width incr$sign{_}ease", "po"], - '^' => ["split, edit alt file", "co"], - '_' => ["set height", "po"], - '+' => ["height incr$sign{_}ease", "po"], - '-' => ["height decr$sign{_}ease", "po"], - '=' => ["same height", "po"], - '^['=> ["esc", "mo mode"], - ']' => ["split, to tag", "po"], - '}' => ["pre$sign{_}view tag", "po"], - '|' => ["set width", "po"], - - 'b' => ["go to bot$sign{_}tom", "po"], - 'c' => [":close", "po"], - '^c'=> ["abort", "mo mode"], - 'd' => ["split, to def$sign{_}inition", "po"], - 'f' => ["split, file edit", "co"], - 'F' => ["^wf, jump to line", "co ext vim7 new"], - 'g' => ["extra cmds", "me arg mode^wg"], - 'h' => ["go left", "po"], - 'H' => ["move far left", "po"], - 'i' => ["split, to decl of id$sign{_}ent$sign{_}ifier", "po"], - 'j' => ["go down", "po"], - 'J' => ["move to bottom", "po"], - 'k' => ["go up", "po"], - 'K' => ["move to top", "po"], - 'l' => ["go right", "po"], - 'L' => ["move far right", "po"], - 'n' => ["open new", "co"], - 'o' => [":only current", "po"], - 'p' => ["go to prev$sign{_}ious", "po"], - 'P' => ["go to pre$sign{_}view", "po"], - 'q' => [":quit current", "co"], - 'r' => ["rotate down$sign{_}ward$sign{_}s", "po"], - 'R' => ["rotate up$sign{_}ward$sign{_}s", "po"], - 's' => ["split horiz$sign{_}ont$sign{_}al$sign{_}ly", "po"], - 'S' => "^ws", - 't' => ["go to top", "po"], - 'v' => ["split vert$sign{_}ic$sign{_}al$sign{_}ly", "po"], - 'w' => ["go to next", "po", "Wrap around"], - 'W' => ["go above$sign{_}/left", "po"], - 'x' => ["ex$sign{_}chan$sign{_}ge", "po"], - 'z' => ["close pre$sign{_}view", "po"], + 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' => { - desc => "extended window commands (ctrl-w g)", - lead => $ascii ? "'wg" : "ŵg", - - '^['=> ["esc", "mo mode"], - ']' => ["split, :ts$sign{_}elect", "po"], - '}' => [":ptj$sign{_}ump to tag", "po"], - '^]'=> ["split, :tj$sign{_}ump", "po"], - 'f' => ["file in tab", "co ext vim7 new"], - 'F' => ["^wgf, to line$sign{_}nr", "co ext vim7 new"], + lead => "ŵg", + + "\e"=> "g7 mode", + '^['=> "=\e", + ']' => "g3", + '}' => "g3", + '^]'=> "g3", + 'f' => "g4 ext vim7 new", + 'F' => "g4 ext vim7 new", }, # mode ^w g v => { - desc => "visual mode", - - '!' => ["external filter", "co"], - ':' => ["cmd on range", "mo modec"], - '<' => ["un$sign{_}indent", "co"], - '=' => ["re$sign{_}ind$sign{_}ent", 'co undo'], - '>' => ["ind$sign{_}ent", 'co'], - '~' => ["toggle case", "co ext vim6"], - '^['=> ["esc", "mo mode"], - '^]'=> ["jump to tag", "po"], + "\e"=> "g7 mode", + + '!' => "g4", + ':' => "g7 modec", + '<' => "g4", + '=' => 'g4 undo', + '>' => 'g4', + '~' => "g4 ext vim6", + '^['=> "=\e", + '^]'=> "g3", '^\\'=>'^\\', - 'a' => ["ex$sign{_}tend area", 'me modeva arg ext vim6'], - 'A' => ["ap$sign{_}pend to block", 'mi modei ext vim6'], # block - 'c' => ["repl$sign{_}ace area", 'mi modei ext vim6'], - 'C' => ["repl$sign{_}ace full lines", 'mi modei ext vim6'], # like vS, but blocks are extended until eol - '^c'=> ["abort", "mo mode"], - 'd' => ["delete area", "co ext vim6"], - 'D' => ["delete lines", "co ext vim6"], - 'g' => ["extra cmds", "me arg modevg"], - '^g'=> ["select mode", "mv"], - '^h'=> ["back$sign{_}space", 'co'], # delete in select mode, left otherwise - 'i' => ["extend inner a$sign{_}r$sign{_}ea", "me modeva arg ext vim6"], - 'I' => ["insert to block", "mi modei ext vim6"], # block - 'J' => ["join lines", "co"], - 'K' => ["help sel$sign{_}ect$sign{_}ion", 'co'], - 'o' => ["to other corner", "pm"], - 'O' => ["to other side", "pm"], - '^o'=> ["visual once", "mv"], # select - 'p' => ["repl$sign{_}ace w/ paste", 'co'], - 'P' => ["repl$sign{_}ace w/ paste", 'co'], - '^q'=> "^q", - 'r' => ["fill up w/ ch$sign{_}ar", 'co arg'], - 'R' => "vS", # "might change in future" - '^s'=> "^s", - 's' => "vc", - 'S' => ["repl$sign{_}ace lines", 'mi modei ext vim6'], - 'u' => ["lower$sign{_}case", "co ext vim6"], - 'U' => ["upper$sign{_}case", "co ext vim6"], - 'v' => ["char$sign{_}wise", "mv"], - 'V' => ["line$sign{_}wise", "mv"], - '^v'=> ["block$sign{_}wise", "mv ext vim6"], - 'x' => "vd", - 'X' => "vD", - 'y' => ["yank area", "co"], - 'Y' => ["yank lines", "co"], - - map {$_ => $_} qw( + '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 ) [ { ] } ; / ? + - _ | @@ -422,138 +426,142 @@ v => { }, # mode v vg => { - desc => "extended visual commands (v g)", lead => "g", - '^['=> ["esc", "mv modev"], - '?' => ["rot13 encode", "co ext vim6"], - 'J' => ["join literal$sign{_}ly", 'co ext vim6'], - 'q' => ["for$sign{_}mat", "co ext vim6"], - 'v' => 'gv', - 'w' => ["for$sign{_}mat still", 'co ext vim7 new'], + "\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 => { - desc => 'text object selection (v a/i)', - - '(' => 'vab', - ')' => 'vab', - '`' => "va'", - "'" => ["quoted string", 'pm ext vim7 new'], - '"' => "va'", - '<' => ["<> block", 'pm ext vim6'], - '>' => 'va<', - '[' => ["[] block", 'pm ext vim6'], - '{' => 'vaB', - '^['=> ["esc", 'mv modev'], - ']' => 'va[', - '}' => 'vaB', - - 'b' => ["() block", 'pm ext vim6'], - 'B' => ["{} Block", 'pm ext vim6'], - 'p' => ["para$sign{_}graph", 'pm ext vim6'], - 's' => ["senten$sign{_}ce", 'pm ext vim6'], - 't' => ["xml tag block", 'pm ext vim7 new'], - 'w' => ["word", 'pm ext vim6'], - 'W' => ['word', 'pm ext vim6'], + "\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^^', +# '^_' => "=i^_", +# '^^' => "=i^^", # '^\\'=>'^\\', -# '^a' => ["complete", ""], #todo -# '^b' => ["bol", "po"], -# '^c' => 'i^c', -# '^d' => ["complete", ""], #todo -# '^e' => ["eol", "po"], -# '^h' => 'i^h', -# '^j' => ["execute cmd", "co"], -# '^k' => 'i^k', -# '^l' => ["complete", ""], #todo -# '^n' => ["complete", ""], #todo -# '^p' => ["complete", ""], #todo -# '^r' => 'i^r', # and then some... -# ## ["insert register", "co arg ext vim6"], -# '^q' => '^q', -# '^u' => 'i^u', -# '^v' => 'i^v', -# '^w' => 'i^w', -# '^y' => ["selec$sign{_}tion to clip$sign{_}b$sign{_}oard", "co"], +# '^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 => { - desc => "insert mode", + "\e" => "g7 mode", - '^@' => ["last insert", "co"], - '^^' => ["toggle :lmap usag$sign{_}e", "co ext vim6"], - '^[' => ["esc", "mo mode"], - '^]' => ["abbrev$sign{_}iate", "co ext vim6"], - '^_' => ["toggle lang$sign{_}uage", "co ext vim6"], + '^@' => "g4", + '^^' => "g4 ext vim6", + '^['=> "=\e", + '^]' => "g4 ext vim6", + '^_' => "g4 ext vim6", '^\\'=>'^\\', - '^a' => ["insert prev$sign{_}ious", "co ext vim6"], - '^b' => ["former i^_", "no ext vim6"], - '^c' => ["abort, no abbr", "mo mode"], - '^d' => ["un$sign{_}ind$sign{_}ent", 'co'], - '^e' => ["ins char below", "co ext vim6"], - '^f' => ["set indent$sign{_}ation", 'co'], - '^g' => ["extra cmds", "me modei^g arg"], - '^h' => ["back$sign{_}space", "co"], - '^i' => ["tab", "co"], - '^j' => ["enter", "co"], - '^k' => ["di$sign{_}graph", 'co arg arg ext vim6 linkdigraphs', "Key code"], - '^l' => ["im leave ins mode", "mo mode ext vim6"], # insertmode only - '^m' => ["enter", "co"], - '^n' => ["find next keyword", "pm ext vim6"], - '^o' => ["exec$sign{_}ute cmd", 'co'], - '^p' => ["find prev keyword", "pm ext vim6"], - '^q' => "^q", # or i^v - '^r' => ["insert reg$sign{_}ister", 'co arg ext vim6'], - '^s' => "^s", - '^t' => ["indent", "co"], - '^u' => ["delete line", "co"], - '^v' => ["literal or ch$sign{_}ar$sign{_}cod$sign{_}e", 'co linkcharset', "Verbatim or by Value"], - '^w' => ["delete word back", "co"], - '^x' => ["ex$sign{_}pand mode", 'me arg modei^x ext vim6'], - '^y' => ["ins char above", "co ext vim6"], - '^z' => [":sus$sign{_}pend in im", "ci ext vim6"], # insertmode only + '^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' => { - desc => "extended insert commands (i ctrl-g)", - lead => $ascii ? "'g" : "ĝ", + lead => "ĝ", + + "\e"=> 'g6 modei', - 'k' => ["$sign{up} start col$sign{_}umn", 'pm'], - 'j' => ["$sign{down} start col$sign{_}umn", 'pm'], - 'u' => ["break undo seq$sign{_}uence", 'co'], + 'k' => 'g2', + 'j' => 'g2', + 'u' => 'g4', # other keys (even esc) are not recognized }, # mode i ^g 'i^x' => { - desc => "insert completion commands (i ctrl-x)", - lead => $ascii ? "'x" : "x̂", - - '^[' => ["esc", "mo mode"], # yes, it really leaves insert mode - '^]' => ["tag comp$sign{_}l$sign{_}et$sign{_}e", 'co'], - '^d' => ["def$sign{_}ine compl$sign{_}et$sign{_}e", 'co'], - '^e' => ["window up", "po"], - '^f' => ["file comp$sign{_}l$sign{_}et$sign{_}e", 'co'], - '^i' => ["ident comp$sign{_}l$sign{_}et$sign{_}e", 'co'], - '^k' => ["dict comp$sign{_}l$sign{_}et$sign{_}e", 'co'], - '^l' => ["line comp$sign{_}l$sign{_}et$sign{_}e", 'co'], - '^n' => ["next comp$sign{_}l$sign{_}et$sign{_}e", 'co'], - '^o' => ["omni comp$sign{_}l$sign{_}et$sign{_}e", 'co ext vim7 new'], - '^p' => ["prev comp$sign{_}l$sign{_}ete", 'co'], - '^s' => ["spell sugg$sign{_}est", 'co'], - 's' => 'i^x^s', - '^t' => ["thes$sign{_}aur$sign{_}us compl$sign{_}et$sign{_}e", 'co'], - '^u' => ["cus$sign{_}tom comp$sign{_}l$sign{_}et$sign{_}e", 'co ext vim7 new'], - '^v' => ["ex cmd compl$sign{_}et$sign{_}e", 'co'], - '^y' => ["window down", "po"], + 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 - +}