vimperator: declare escape keys explicitly per mode
[sheet.git] / vimperator.eng.inc.pl
index 2457fdb67ed9ccf06e7e4fee20a9ca71781e2e73..6f8f53ecca7bfad81f4cd3117b0355618fd6dae7 100644 (file)
@@ -64,6 +64,7 @@ key => {
        'Z' => "quit",
        '^z'=> "pass throu<>gh",
 
+       "g\e"=> "normal mode",
        'g0' => "first tab",
        'g$' => "last tab",
 
@@ -84,6 +85,7 @@ key => {
        'gu' => "parent dir<>ectory",
        'gU' => "site root",
 
+       ";\e"=> "normal mode",
        ';;' => "focus",
        ';?' => "element details",
        ';a' => "save prompt",
@@ -104,12 +106,15 @@ key => {
        ';y' => "copy url",
        ';Y' => "copy text",
 
+       "]\e"=> "normal mode",
        ']f' => "next frame<>set",
        ']]' => "open <q>next</q>",
 
+       "[\e"=> "normal mode",
        '[f' => "previous frame<>set",
        '[[' => "open <q>prev</q>",
 
+       "z\e"=> "normal mode",
        'zi' => "en<>large text\nZoom In",
        'zm' => "en<>large more\nZoom More",
        'zo' => "shrink text\nZoom Out",
@@ -121,6 +126,7 @@ key => {
        'zR' => "zoom out more\nZoom Reduce",
        'zZ' => "zoom reset\nZoom Zero",
 
+       "Z\e"=> "normal mode",
        'ZQ' => "quit no save",
        'ZZ' => "quit save ses<>s<>ion",
 },
@@ -150,5 +156,170 @@ flag => {
        args => ["key<args>" => "Commands with two dots require variable arguments afterwards."],
 },
 
-def => do 'vimperator.inc.pl',
+def => {
+       '' => {
+               '~' => 'g5',
+               '@' => 'g7 arg',
+               '^' => 'g2',
+               '0' => '=^',
+               '$' => 'g2',
+               '#' => 'g2',
+               '*' => 'g2',
+               '+' => '=zi',
+               '-' => '=zo',
+               '^^'=> 'g3',
+               '?' => 'g2 args modec',
+               '/' => 'g2 args modec',
+               '[' => 'g9 arg mode[',
+               ']' => 'g9 arg mode]',
+               ':' => 'g7 args',
+               ';' => 'g9 arg args mode;',
+               "'" => 'g2',
+               '`' => "='",
+               '|' => 'g5 v2 v2.2',
+
+               'a' => 'g7 args',
+               'A' => 'g7',
+               '^a'=> 'g5',
+               'b' => 'g3 args',
+               'B' => 'g1',
+               '^b'=> 'g2',
+               '^c'=> 'g4',
+               '^d'=> 'g2',
+               'd' => 'g4',
+               'D' => 'g4',
+               'i' => 'g8',
+               '^i'=> '=L',
+               '^e'=> '=j',
+               'f' => 'g5 args',
+               'F' => 'g6 args',
+               '^f'=> 'g2', # spacebar
+               'g' => 'g9 modeg arg',
+               'G' => 'g2',
+               '^g'=> 'g1',
+               'h' => 'g2',
+               'H' => 'g5',
+               'j' => 'g2',
+               'k' => 'g2',
+               'l' => 'g2',
+               'L' => 'g5',
+               'M' => 'g7 arg',
+               'm' => 'g7 arg',
+               'n' => 'g2',
+               'N' => 'g2',
+               '^n'=> 'g3',
+               'o' => 'g5',
+               'O' => 'g5',
+               '^o'=> '=H',
+               'p' => 'g5',
+               'P' => 'g6',
+               '^p'=> '=gT',
+               'q' => 'g8 arg',
+               'r' => 'g4',
+               'R' => 'g5',
+               't' => 'g6',
+               'T' => 'g6',
+               '^v'=> 'g4 arg',
+               '^u'=> 'g2',
+               'u' => 'g6',
+               '^x'=> 'g5',
+               'y' => 'g7',
+               'Y' => 'g7',
+               '^y'=> '=k',
+               'z' => 'g1 modez arg',
+               'Z' => 'g9 modeZ arg',
+               '^z'=> 'g8',
+       }, # normal mode
+
+       g => {
+               lead => 'g',
+
+               "\e"=> 'g8 mode',
+               '0' => 'g3',
+               '$' => 'g3',
+               '^' => '=g0',
+
+               'b' => 'g3',
+               'B' => 'g3',
+               'f' => 'g5',
+               'F' => 'g7',
+               '^g'=> 'g1',
+               'g' => 'g2',
+               'h' => 'g5',
+               'H' => 'g6',
+               'i' => 'g2',
+               'n' => 'g6 arg',
+               'o' => 'g5 arg',
+               'P' => 'g6',
+               't' => 'g3',
+               'T' => 'g3',
+               'u' => 'g5',
+               'U' => 'g5',
+       }, # mode g
+
+       ';' => {
+               lead => ';',
+
+               "\e"=> 'g8 mode',
+               ';' => 'g2',
+               '?' => 'g1',
+               'a' => 'g7 args',
+               'b' => 'g6 v2',
+               'c' => 'v2 v2.2',
+               'f' => 'g2 v2', # previously ';o'
+               'F' => 'g6 v2', # previously ';t'
+               'i' => 'g5 v2 v2.2',
+               'I' => 'g6 v2 v2.2',
+               'o' => 'g5',
+               'O' => 'g5 args',
+               's' => 'g7',
+               't' => 'g6',
+               'T' => 'g6 args',
+               'v' => 'g5',
+               'w' => 'g6',
+               'W' => 'g6 args',
+               'y' => 'g7',
+               'Y' => 'g7',
+       }, # mode ;
+
+       ']' => {
+               lead => ']',
+
+               "\e"=> 'g8 mode',
+               'f' => 'g2',
+               ']' => 'g5',
+       }, # mode ]
+
+       '[' => {
+               lead => '[',
+
+               "\e"=> 'g8 mode',
+               'f' => 'g2',
+               '[' => 'g5',
+       }, # mode [
+
+       z => {
+               lead => 'z',
+
+               "\e"=> 'g8 mode',
+               'i' => 'g1',
+               'm' => 'g1',
+               'o' => 'g1',
+               'r' => 'g1',
+               'z' => 'g1',
+               'I' => 'g1',
+               'M' => 'g1',
+               'O' => 'g1',
+               'R' => 'g1',
+               'Z' => 'g1',
+       }, # mode z
+
+       Z => {
+               lead => 'Z',
+
+               "\e"=> 'g8 mode',
+               'Q' => 'g7',
+               'Z' => 'g7',
+       }, # mode Z
+},
 }