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