- desc => 'index',
-
- 'b' => ["page up"],
- '^b'=> 'b',
- 'e' => 'j',
- '^e'=> 'j',
- 'f' => ["page down"],
- '^f'=> 'f',
- 'h' => ["help"],
- 'H' => 'h',
- 'j' => [$sign{down}],
- 'k' => [$sign{up}],
- '^k'=> 'k',
- '^m'=> 'j',
- '^n'=> 'j',
- '^p'=> 'j',
- 'q' => ["quit"],
- 'Q' => 'q',
- '^v'=> 'f',
- 'w' => ["page up and set window"],
- 'y' => 'k',
- '^y'=> 'k',
- 'z' => ["page down and set window"],
+ "\e"=> 'g7 mode^[',
+
+ 'b' => 'g2 more',
+ '^b'=> '=b',
+ 'd' => 'g2 more',
+ '^d'=> '=d',
+ 'e' => '=j',
+ '^e'=> '=j',
+ 'f' => 'g2 more',
+ '^f'=> '=f',
+ 'F' => 'g7',
+ 'g' => 'g2',
+ '^g'=> '==',
+ 'G' => 'g2',
+ 'h' => 'g7 more',
+ 'H' => '=h',
+ 'j' => 'g2',
+ 'k' => 'g2',
+ '^k'=> '=k',
+ '^l'=> '=r', # more
+ 'm' => 'g3 arg',
+ '^m'=> '=j',
+ 'n' => 'g4 more',
+ 'N' => 'g4',
+ '^n'=> '=j',
+ 'p' => 'g2',
+ '^p'=> '=k',
+ 'q' => 'g8 more',
+ 'Q' => '=q',
+ 'r' => 'g1',
+ '^r'=> '=r',
+ 'R' => 'g1',
+ 's' => 'g8 arg',
+ 't' => 'g4',
+ 'T' => 'g4',
+ 'u' => 'g2',
+ '^u'=> '=u',
+ 'v' => 'g8 linkvi more',
+ '^v'=> '=f',
+ 'V' => 'g1',
+ 'w' => 'g2',
+ '^x'=> 'g8 arg mode^x',
+ 'y' => '=k',
+ '^y'=> '=k',
+ 'z' => 'g2 more',
+
+ '!' => 'g8 more',
+ '|' => 'g8 arg',
+ ':' => 'g8 arg mode:',
+ '/' => 'g4 arg more',
+ '?' => 'g4 arg',
+ '%' => '=p',
+ '&' => 'g4 arg',
+ "'" => 'g3 arg',
+ '-' => 'g8 arg mode-',
+ '_' => 'g1 arg mode-',
+ '=' => 'g1 more',
+ '+' => 'g7',
+
+ '(' => 'g4',
+ '<' => '=g',
+ '>' => '=G',
+},
+
+'^[' => { # esc
+ "\e"=> 'g7 mode',
+ 'n' => 'g4',
+ 'N' => 'g4',
+ 'u' => 'g1',
+ 'v' => '=b',
+ '(' => 'g2',
+ ')' => 'g2',
+ '<' => '=g',
+ '>' => '=G',