termcol: float tables automatically
[sheet.git] / readline.inc.pl
index 22c3b8abc95b0652e14bd5d4524e865225968edd..5271cf22f9d7f094a3cb0e3ed3e03e05bdf82f3d 100644 (file)
@@ -1,62 +1,97 @@
 use utf8;
 
 '' => {
-       desc => "normal mode",
+       desc => "emacs 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'],
+       '+=' => '+?', #TODO: new # emacs, not in v2.0
+       '+>' => ["history end", 'co'],
        '^?' => '^h',
        '+?' => ["list complet$sign{_}ion$sign{_}s", 'ci'],
-       '+=' => '+?', # emacs
-       '^@' => ["set mark"],
+       '^@' => ["set mark", 'mv new'], # not in v2.0
+
+       '+#' => ["prefix comm$sign{_}en$sign{_}t", 'mi new'], # not in v2.0
        '+&' => ["tilde expand", 'mi'],
-       '+~' => '+&', # emacs
+       '+*' => ["complet$sign{_}e all", 'mi new'], # not in v2.0
+       '+.' => ["insert last", 'co'],
+       '+~' => '+&amp;', # emacs
+
+       '^[' => ["meta", 'mv'],
+       '^+['=> '^i',
+       '+\\'=> ["delete whitesp$sign{_}ace", 'mo'],
+       '^]' => ["find char", 'pm arg new'], # not in v2.0
+       '^+]'=> ["rev find char", 'pm arg new'], # not in v2.0
        '^_' => ["undo", 'co'],
+       '+_' => '+.',
+
+       '+~' => ["user$sign{_}name exp$sign{_}and", 'mi ext'], # common emacs => '+&'
+       '+!' => ["cmd expand", 'mi ext'],
+       '+@' => ["host$sign{_}name exp$sign{_}and", 'mi ext'],
+       '+$' => ["variable expand", 'mi ext'],
+       '+^' => ["history expand", 'co ext'],
+       '+/' => ["filename expand", 'ci ext'],
 
        '^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' => ["cancel comm$sign{_}and", 'mv ext'],
        '+c' => ["capital$sign{_}ise word", 'mi'],
        '^d' => ["delete char", 'mo'],
-       '+d' => ["delete word rem$sign{_}ain$sign{_}der", 'mo'],
+       '+d' => ["delete word rem$sign{_}ain$sign{_}der", 'mo ring'],
 #      '^e' => ["emacs mode", 'me'],
        '^e' => ["end of line", 'pm'],
        '^f' => ["char forward", 'pm'],
        '+f' => ["word forward", 'pm'],
-       '^g' => ["abort cmd, bell"],
+       '^g' => ["abort cmd, bell", 'mv'],
+       '^+g'=> '^g',
        '^h' => ["back$sign{_}space", 'mo'],
-       '^i' => ["complete", '', '(tab)'],
+       '^+h'=> ["delete bound word", 'mo ring'], #TODO
+       '^i' => ["auto$sign{_}complet$sign{_}e", 'mi', '(tab)'],
+       '^+i'=> '^v^i',
        '^j' => '^m',
-       '^+j'=> ["vim mode", 'me'],
-       '^k' => ["delete till eol", 'mo'],
+       '^+j'=> ["vim mode", 'me'], #TODO: mode^+j
+       '^k' => ["delete till eol", 'mo ring'],
        '^l' => ["clear screen", 'ci'],
        '+l' => ["lowcase word", 'mi'],
-       '^m' => ["enter line", '', '(enter)'],
+       '^m' => ["enter line", 'co', '(enter)'],
+       '^+m'=> '^+j',
        '^n' => ["history next", 'co'],
        '+n' => ["match history", 'co'],
+       '^o' => ["enter and next", 'co ext'],
        '^p' => ["history back", 'co'],
        '+p' => ["rev match history", 'co'],
        '^q' => '^v', # Quote
        '^r' => ["reverse history", 'co'],
        '+r' => ["full undo", 'co', 'Revert'],
+       '^+r'=> '+r',
        '^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' => ["delete till bol", 'mo ring'], # 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"],
+       '^v' => ["verbatim char", 'mv'],
+       '^w' => ["delete word", 'mo ring'], # unix
+       '^x' => ["extend$sign{_}ed", 'me arg mode^x'],
+       '^y' => ["yank top", 'co'],
+       '+y' => ["rotate yank", 'co ring'],
        '^+y'=> ["yank arg"],
+       '^z' => ["back$sign{_}ground", 'mv ext'],
+},
+
+'^x' => {
+       lead => $ascii ? "'x"  : "x̂",
+       desc => 'emacs ctrl-x bindings',
+
+       '('  => ["start macro", 'mv'],
+       ')'  => ["end macro", 'mv'],
+       'e'  => ["run macro", 'mv', 'Execute'],
+       '^e' => ["editor", 'mi ext linkvim'],
+       '^g' => '^g',
+       '^h' => '^u',
+       '^r' => ["reload inputrc", 'mv'],
+       '^u' => '^_',
+       '^x' => ["swap cursor", 'pm new', 'eXchange'], # not in v2.0
+       '^v' => ["shell version", 'ci ext'],
+       '^?' => '^x^h',
 },