rows => [4, 3, 2],
moderows => '^x=213',
-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",
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',
+ "\e" => ['g8', "+"], # label escape as meta key
+
+ '+<' => ['g4', "history start"],
+ '+=' => \'+?', #TODO: v21 # emacs, not in v2.0
+ '+>' => ['g4', "history end"],
+ '^?' => \'^h',
+ '+?' => ['g1', "list complet<>ion<>s"],
+ '^@' => ['g8 v21', "set mark"], # not in v2.0
+
+ '+#' => ['g6 v21', "prefix comm<>en<>t"], # not in v2.0
+ '+&' => ['g6', "tilde expand"],
+ '+*' => ['g6 v21', "complet<>e all"], # not in v2.0
+ '+.' => ['g4', "insert last"],
+ '+~' => \'+&', # common emacs
+
+ '^[' => ['g8', "meta"],
+ '^+['=> \'^i',
+ '+\\'=> ['g7', "delete whitesp<>ace"],
+ '^]' => ['g2 arg v21', "find char"], # not in v2.0
+ '^+]'=> ['g2 arg v21', "rev find char"], # not in v2.0
+ '^_' => ['g4', "undo"],
+ '+_' => \'+.',
+
+ '+~' => ['g6 xbash', "user<>name exp<>and"], # overrides alias
+ '+!' => ['g6 xbash', "cmd expand"],
+ '+@' => ['g6 xbash', "host<>name exp<>and"],
+ '+$' => ['g6 xbash', "variable expand"],
+ '+^' => ['g4 xbash', "history expand"],
+ '+/' => ['g1 xbash', "filename expand"],
+
+ '^a' => ['g2', "begin of line"],
+ '^b' => ['g2', "char back<>w<>ard<>s"],
+ '+b' => ['g2', "word back<>w<>ard<>s"],
+ '^c' => ['g8 xbash', "cancel comm<>and"],
+ '+c' => ['g6', "capital<>ise word"],
+ '^d' => ['g7', "delete char"],
+ '+d' => ['g7 ring', "delete word rem<>ain<>der"],
+ # '^e' => ['g9', "emacs mode"],
+ '^e' => ['g2', "end of line"],
+ '^f' => ['g2', "char forward"],
+ '+f' => ['g2', "word forward"],
+ '^g' => ['g8', "abort cmd, bell"],
+ '^+g'=> \'^g',
+ '^h' => ['g7', "back<>space"],
+ '^+h'=> ['g7 ring', "delete bound word"], #TODO
+ '^i' => ['g6', "auto<>complet<>e\n(tab)"],
+ '^+i'=> \'^v^i',
+ '^j' => \'^m',
+ '^+j'=> ['g9', "vim mode"], #TODO: mode^+j
+ '^k' => ['g7 ring', "delete till eol"],
+ '^l' => ['g1', "clear screen"],
+ '+l' => ['g6', "lowcase word"],
+ '^m' => ['g4', "enter line\n(enter)"],
+ '^+m'=> \'^+j',
+ '^n' => ['g4', "history next"],
+ '+n' => ['g4', "match history"],
+ '^o' => ['g4 xbash', "enter and next"],
+ '^p' => ['g4', "history back"],
+ '+p' => ['g4', "rev match history"],
+ '^q' => [undef, \'^v', "\nQuote"], #TODO fix partial override
+ '^r' => ['g4', "reverse history"],
+ '+r' => ['g4', "full undo\nRevert"],
+ '^+r'=> \'+r',
+ '^s' => ['g4', "search history"],
+ '^t' => ['g6', "move char forw<>ard\nTranspose char"],
+ '+t' => ['g6', "move word forw<>ard\nTranspose word"],
+ '^u' => ['g7 ring', "delete till bol"], # unix
+ '+u' => ['g6', "upcase word"],
+ '^v' => ['g8', "verbat<>im char"],
+ '^w' => ['g7 ring', "delete word"], # unix
+ '^x' => ['g9 arg mode^x', "extend<>ed"],
+ '^y' => ['g4', "yank top"],
+ '+y' => ['g4 ring', "rotate yank"],
+ '^+y'=> ["yank arg", "yank arg"],
+ '^z' => ['g8 xbash', "back<>ground"],
},
'^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',
+ "\e" => ['g8 mode', "+"],
+
+ '(' => ['g8', "start macro"],
+ ')' => ['g8', "end macro"],
+ 'e' => ['g8', "run macro\nExecute"],
+ '^e' => ['g6 xbash linkvi', "editor"],
+ '^g' => \'^g',
+ '^h' => \'^u',
+ '^r' => ['g8', "reload inputrc"],
+ '^u' => \'^_',
+ '^x' => ['g2 v21', "swap cursor\neXchange"], # not in v2.0
+ '^v' => ['g1 xbash', "shell version"],
+ '^?' => \'^x^h',
},
},
}