use utf8;
+{
'' => {
- desc => "normal mode",
-
- '+\\'=> ["delete whitesp$sign{_}ace", 'mo'],
- '+_' => '+.',
- '+>' => ["history end", 'co'],
- '+<' => ["history start", 'co'],
- '+.' => ["insert last", 'co'],
- '+#' => ["prefix comm$sign{_}en$sign{_}t", 'mi'],
- '+*' => ["complet$sign{_}e all", 'mi'],
- '^]' => ["find char", 'pm arg'],
- '^+]'=> ["rev find char", 'pm arg'],
- '^?' => '^h',
- '+?' => ["list complet$sign{_}ion$sign{_}s", 'ci'],
- '+=' => '+?', # emacs
- '^@' => ["set mark"],
- '+&' => ["tilde expand", 'mi'],
- '+~' => '+&', # emacs
- '^_' => ["undo", 'co'],
-
- '^a' => ["begin of line", 'pm'],
- '^b' => ["char back$sign{_}w$sign{_}ard$sign{_}s", 'pm'],
- '+b' => ["word back$sign{_}w$sign{_}ard$sign{_}s", 'pm'],
- '+c' => ["capital$sign{_}ise word", 'mi'],
- '^d' => ["delete char", 'mo'],
- '+d' => ["delete word rem$sign{_}ain$sign{_}der", 'mo'],
-# '^e' => ["emacs mode", 'me'],
- '^e' => ["end of line", 'pm'],
- '^f' => ["char forward", 'pm'],
- '+f' => ["word forward", 'pm'],
- '^g' => ["abort cmd, bell"],
- '^h' => ["back$sign{_}space", 'mo'],
- '^i' => ["complete", '', '(tab)'],
- '^j' => '^m',
- '^+j'=> ["vim mode", 'me'],
- '^k' => ["delete till eol", 'mo'],
- '^l' => ["clear screen", 'ci'],
- '+l' => ["lowcase word", 'mi'],
- '^m' => ["enter line", '', '(enter)'],
- '^n' => ["history next", 'co'],
- '+n' => ["match history", 'co'],
- '^p' => ["history back", 'co'],
- '+p' => ["rev match history", 'co'],
- '^q' => '^v', # Quote
- '^r' => ["reverse history", 'co'],
- '+r' => ["full undo", 'co', 'Revert'],
- '^s' => ["search history", 'co'],
- '^t' => ["move char forw$sign{_}ard", 'mi', 'Transpose char'],
- '+t' => ["move word forw$sign{_}ard", 'mi', 'Transpose word'],
- '^u' => ["delete till bol", 'mo'], # unix
- '+u' => ["upcase word", 'mi'],
- '^v' => ["verbatim char"],
- '^w' => ["delete word", 'mo'], # unix
-# '^xBS' => ["delete till bol", 'mo'],
- '^x' => ["extend$sign{_}ed", 'me arg'],
- '^y' => ["yank top"],
- '+y' => ["rotate yank"],
- '^+y'=> ["yank arg"],
+ "\e" => 'g8',
+
+ '+<' => 'g4',
+ '+=' => '=+?', #TODO: new # emacs, not in v2.0
+ '+>' => 'g4',
+ '^?' => '=^h',
+ '+?' => 'g1',
+ '^@' => 'g8 new', # not in v2.0
+
+ '+#' => 'g6 new', # not in v2.0
+ '+&' => 'g6',
+ '+*' => 'g6 new', # not in v2.0
+ '+.' => 'g4',
+ '+~' => '=+&', # emacs
+
+ '^[' => 'g8',
+ '^+['=> '=^i',
+ '+\\'=> 'g7',
+ '^]' => 'g2 arg new', # not in v2.0
+ '^+]'=> 'g2 arg new', # not in v2.0
+ '^_' => 'g4',
+ '+_' => '=+.',
+
+ '+~' => 'g6 ext', # common emacs => '=+&'
+ '+!' => 'g6 ext',
+ '+@' => 'g6 ext',
+ '+$' => 'g6 ext',
+ '+^' => 'g4 ext',
+ '+/' => 'g1 ext',
+
+ '^a' => 'g2',
+ '^b' => 'g2',
+ '+b' => 'g2',
+ '^c' => 'g8 ext',
+ '+c' => 'g6',
+ '^d' => 'g7',
+ '+d' => 'g7 ring',
+# '^e' => 'g9',
+ '^e' => 'g2',
+ '^f' => 'g2',
+ '+f' => 'g2',
+ '^g' => 'g8',
+ '^+g'=> '=^g',
+ '^h' => 'g7',
+ '^+h'=> 'g7 ring', #TODO
+ '^i' => 'g6',
+ '^+i'=> '=^v^i',
+ '^j' => '=^m',
+ '^+j'=> 'g9', #TODO: mode^+j
+ '^k' => 'g7 ring',
+ '^l' => 'g1',
+ '+l' => 'g6',
+ '^m' => 'g4',
+ '^+m'=> '=^+j',
+ '^n' => 'g4',
+ '+n' => 'g4',
+ '^o' => 'g4 ext',
+ '^p' => 'g4',
+ '+p' => 'g4',
+ '^q' => '=^v',
+ '^r' => 'g4',
+ '+r' => 'g4',
+ '^+r'=> '=+r',
+ '^s' => 'g4',
+ '^t' => 'g6',
+ '+t' => 'g6',
+ '^u' => 'g7 ring',
+ '+u' => 'g6',
+ '^v' => 'g8',
+ '^w' => 'g7 ring',
+ '^x' => 'g9 arg mode^x',
+ '^y' => 'g4',
+ '+y' => 'g4 ring',
+ '^+y'=> "yank arg",
+ '^z' => 'g8 ext',
+},
+
+'^x' => {
+ lead => "x̂",
+
+ "\e" => 'g8 mode',
+
+ '(' => 'g8',
+ ')' => 'g8',
+ 'e' => 'g8',
+ '^e' => 'g6 ext linkvi',
+ '^g' => '=^g',
+ '^h' => '=^u',
+ '^r' => 'g8',
+ '^u' => '=^_',
+ '^x' => 'g2 new', # not in v2.0
+ '^v' => 'g1 ext',
+ '^?' => '=^x^h',
},
+}