+++ /dev/null
-use utf8;
-
-{
-key => {
- '+<' => "history start",
- '+>' => "history end",
- '+?' => "list complet<>ion<>s",
- '^@' => "set mark",
-
- '+#' => "prefix comm<>en<>t",
- '+&' => "tilde expand",
- '+*' => "complet<>e all",
- '+.' => "insert last",
-
- '^[' => "meta",
- '+\\'=> "delete whitesp<>ace",
- '^]' => "find char",
- '^+]'=> "rev find char",
- '^_' => "undo",
-
- '+~' => "user<>name exp<>and",
- '+!' => "cmd expand",
- '+@' => "host<>name exp<>and",
- '+$' => "variable expand",
- '+^' => "history expand",
- '+/' => "filename expand",
-
- '^a' => "begin of line",
- '^b' => "char back<>w<>ard<>s",
- '+b' => "word back<>w<>ard<>s",
- '^c' => "cancel comm<>and",
- '+c' => "capital<>ise word",
- '^d' => "delete char",
- '+d' => "delete word rem<>ain<>der",
-# '^e' => "emacs mode",
- '^e' => "end of line",
- '^f' => "char forward",
- '+f' => "word forward",
- '^g' => "abort cmd, bell",
- '^h' => "back<>space",
- '^+h'=> "delete bound word",
- '^i' => "auto<>complet<>e\n(tab)",
- '^+j'=> "vim mode",
- '^k' => "delete till eol",
- '^l' => "clear screen",
- '+l' => "lowcase word",
- '^m' => "enter line\n(enter)",
- '^n' => "history next",
- '+n' => "match history",
- '^o' => "enter and next",
- '^p' => "history back",
- '+p' => "rev match history",
-# '^q' => "\nQuote", #TODO fix partial override
- '^r' => "reverse history",
- '+r' => "full undo\nRevert",
- '^s' => "search history",
- '^t' => "move char forw<>ard\nTranspose char",
- '+t' => "move word forw<>ard\nTranspose word",
- '^u' => "delete till bol", # unix
- '+u' => "upcase word",
- '^v' => "verbat<>im char",
- '^w' => "delete word", # unix
- '^x' => "extend<>ed",
- '^y' => "yank top",
- '+y' => "rotate yank",
- '^+y'=> "yank arg",
- '^z' => "back<>ground",
-
- '^x(' => "start macro",
- '^x)' => "end macro",
- '^xe' => "run macro\nExecute",
- '^x^e' => "editor",
- '^x^r' => "reload inputrc",
- '^x^x' => "swap cursor\neXchange",
- '^x^v' => "shell version",
-
- # globally label escape as meta key
- "\e" => "+",
- "^x\e" => "+",
-},
-
-mode => {
- '' => "emacs mode",
- '^x' => "emacs ctrl-x bindings",
-},
-
-flag => {
- g1 => [info => "Info command: shows/does something without altering anything."],
- g2 => [motion => "Move the cursor."],
- g4 => [history => "Replace contents involving kill ring, undo, or command history."],
- g6 => [change => "Alter current text (filtering or completion)."],
- g7 => [delete => "Remove text."],
- g8 => [misc => "Miscellaneous commands."],
- g9 => [mode => "Additional key functionality (click to view)."],
-
- arg => ["key<arg>" => "Commands with a dot need a char argument afterwards."],
- new => [">v2.0" => "Unavailable before readline version 2.1 (1997)."],
- ext => ["bash" => "Default assignment in Bash shells, but not common readline."],
-},
-
-def => {
- '' => {
- "\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',
- },
-},
-}