vi: specific version and extension classes
authorMischa POSLAWSKY <perl@shiar.org>
Fri, 18 May 2018 21:36:55 +0000 (23:36 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Sat, 19 May 2018 02:48:19 +0000 (04:48 +0200)
Shiar_Sheet/Keyboard.pm
readline.eng.inc.pl
vi.eng.inc.pl

index 98c5a40a330a774e564464f4ceb005db21227ce0..c627d6d9cdd8a76407cc09a1cdf0e13296e8f056 100644 (file)
@@ -130,6 +130,8 @@ sub print_key {
                ' onclick="setmode(%s)"',
                $1 eq '' ? '' : sprintf(q{'mode%s'}, escapeclass($1))
        );
+       $flags =~ s/\bx\w+/ext/;
+       $flags =~ s/\bv\d+/new/;
        $flags .= ' chr'.ord(substr $key, -1) if $key ne '^0';
 
        print qq{\t\t<td class="$flags"$onclick>$keytxt};
index 4b2888505a1d8bff9fd7f6c677cdb0cb52427189..29645637c51d68220f2ff60e3a818a1876d09e8e 100644 (file)
@@ -94,8 +94,8 @@ flag => {
        g9 => [mode    => "Additional key functionality (click to view)."],
 
        arg => ["key<arg>" => "Commands with a dot need a char argument afterwards."],
-       new => ["&gt;v2.0" => "Unavailable before readline version 2.1 (1997)."],
-       ext => ["bash" => "Default assignment in Bash shells, but not common readline."],
+       'v21 new' => ["&gt;v2.0" => "Unavailable before readline version 2.1 (1997)."],
+       'xbash ext' => ["bash" => "Default assignment in Bash shells, but not common readline."],
 },
 
 def => {
@@ -103,37 +103,37 @@ def => {
                "\e" => 'g8',
 
                '+<' => 'g4',
-               '+=' => '=+?', #TODO: new # emacs, not in v2.0
+               '+=' => '=+?', #TODO: v21 # emacs, not in v2.0
                '+>' => 'g4',
                '^?' => '=^h',
                '+?' => 'g1',
-               '^@' => 'g8 new', # not in v2.0
+               '^@' => 'g8 v21', # not in v2.0
 
-               '+#' => 'g6 new', # not in v2.0
+               '+#' => 'g6 v21', # not in v2.0
                '+&' => 'g6',
-               '+*' => 'g6 new', # not in v2.0
+               '+*' => 'g6 v21', # not in v2.0
                '+.' => 'g4',
                '+~' => '=+&amp;', # emacs
 
                '^[' => 'g8',
                '^+['=> '=^i',
                '+\\'=> 'g7',
-               '^]' => 'g2 arg new', # not in v2.0
-               '^+]'=> 'g2 arg new', # not in v2.0
+               '^]' => 'g2 arg v21', # not in v2.0
+               '^+]'=> 'g2 arg v21', # not in v2.0
                '^_' => 'g4',
                '+_' => '=+.',
 
-               '+~' => 'g6 ext', # common emacs => '=+&'
-               '+!' => 'g6 ext',
-               '+@' => 'g6 ext',
-               '+$' => 'g6 ext',
-               '+^' => 'g4 ext',
-               '+/' => 'g1 ext',
+               '+~' => 'g6 xbash', # common emacs => '=+&'
+               '+!' => 'g6 xbash',
+               '+@' => 'g6 xbash',
+               '+$' => 'g6 xbash',
+               '+^' => 'g4 xbash',
+               '+/' => 'g1 xbash',
 
                '^a' => 'g2',
                '^b' => 'g2',
                '+b' => 'g2',
-               '^c' => 'g8 ext',
+               '^c' => 'g8 xbash',
                '+c' => 'g6',
                '^d' => 'g7',
                '+d' => 'g7 ring',
@@ -156,7 +156,7 @@ def => {
                '^+m'=> '=^+j',
                '^n' => 'g4',
                '+n' => 'g4',
-               '^o' => 'g4 ext',
+               '^o' => 'g4 xbash',
                '^p' => 'g4',
                '+p' => 'g4',
                '^q' => '=^v',
@@ -174,7 +174,7 @@ def => {
                '^y' => 'g4',
                '+y' => 'g4 ring',
                '^+y'=> "yank arg",
-               '^z' => 'g8 ext',
+               '^z' => 'g8 xbash',
        },
 
        '^x' => {
@@ -185,13 +185,13 @@ def => {
                '('  => 'g8',
                ')'  => 'g8',
                'e'  => 'g8',
-               '^e' => 'g6 ext linkvi',
+               '^e' => 'g6 xbash linkvi',
                '^g' => '=^g',
                '^h' => '=^u',
                '^r' => 'g8',
                '^u' => '=^_',
-               '^x' => 'g2 new', # not in v2.0
-               '^v' => 'g1 ext',
+               '^x' => 'g2 v21', # not in v2.0
+               '^v' => 'g1 xbash',
                '^?' => '=^x^h',
        },
 },
index 5d75a5857ebc1586f36c92ff3bbd20cd5d34f300..09a132d060cf6f7f68695c2ea5d64c1358f95b86 100644 (file)
@@ -480,7 +480,7 @@ flag => {
 
        arg => ["key<arg>", "Commands with a dot need a char argument afterwards."],
        motion => ["key<motion>", "Requires a motion afterwards, operates between cursor and destination."],
-       'vim6 new' => ["vim", "Not in original Vi (assessment incomplete)."],
+       'v6 new' => ["vim", "Not in original Vi (assessment incomplete)."],
 },
 
 def => {
@@ -488,12 +488,12 @@ def => {
                '~' => "g4 undo",
                '!' => "g4 argm undo modec",
                '@' => "g4 arg undo",
-               '#' => "g2 vim6 new",
+               '#' => "g2 v6",
                '$' => "g2",
                '%' => "g2",
                '^' => "g2",
                '&' => "g4 undo",
-               '*' => "g2 vim6 new",
+               '*' => "g2 v6",
                '(' => 'g2',
                ')' => 'g2',
                '_' => "g2",
@@ -548,7 +548,7 @@ def => {
                '^h'=> "=h",
                'i' => "g6 undo modei",
                'I' => "g6 undo modei",
-               '^i'=> "g2 vim6 new",
+               '^i'=> "g2 v6",
                'j' => "g2",
                'J' => "g4 undo",
                '^j'=> "=j",
@@ -565,7 +565,7 @@ def => {
                '^n'=> "=j",
                'o' => "g6 undo modei",
                'O' => "g6 undo modei",
-               '^o'=> "g2 vim6 new",
+               '^o'=> "g2 v6",
                'p' => "g4 undo",
                'P' => "g4 undo",
                '^p'=> "=k",
@@ -574,7 +574,7 @@ def => {
                '^q'=> "g1", # or ^v
                'r' => "g4 arg undo",
                'R' => "g6 undo modei",
-               '^r'=> "g4 undo vim6 new",
+               '^r'=> "g4 undo v6",
                's' => "g6 undo modei",
                'S' => "g6 undo modei",
                '^s'=> "g1",
@@ -586,7 +586,7 @@ def => {
                '^u'=> "g3",
                'v' => "g8 modev",
                'V' => "g8 modev",
-               '^v'=> "g8 modev vim6 new",
+               '^v'=> "g8 modev v6",
                'w' => "g2",
                'W' => "g2",
                '^w'=> "g9 arg mode^w",
@@ -606,65 +606,65 @@ def => {
 
                "\e"=> "g7 mode",
 
-               '~' => "g4 argm vim6 new",
-               '@' => "g4 vim7 new",
-               '#' => "g2 vim6 new",
+               '~' => "g4 argm v6",
+               '@' => "g4 v7",
+               '#' => "g2 v6",
                '$' => "g2",
-               '^' => "g2 vim6 new",
+               '^' => "g2 v6",
                '&' => "g4",
-               '*' => "g2 vim6 new",
-               '_' => "g2 vim6 new",
-               '+' => "g4 vim7 new",
-               '`' => "g2 vim6 new arg",
+               '*' => "g2 v6",
+               '_' => "g2 v6",
+               '+' => "g4 v7",
+               '`' => "g2 v6 arg",
                '8' => "g1",
-               '0' => "g2 vim6 new",
-               '-' => "g4 vim7 new",
+               '0' => "g2 v6",
+               '-' => "g4 v7",
                '^['=> "g7 mode",
                ']' => "g3",
                '^]'=> "g3",
                ';' => "g2",
-               "'" => "g2 vim6 new arg",
-               '<' => "g4 vim7 new",
-               '?' => "g4 argm vim6 new",
+               "'" => "g2 v6 arg",
+               '<' => "g4 v7",
+               '?' => "g4 argm v6",
                ',' => "g2",
 
                'a' => "g1",
                '^a'=> "g1",
-               'd' => "g2 vim6 new",
-               'D' => "g2 vim6 new",
+               'd' => "g2 v6",
+               'D' => "g2 v6",
                'e' => "g2",
                'E' => "g2",
-               'f' => "g4 vim6 new",
-               'F' => "g4 vim7 new",
+               'f' => "g4 v6",
+               'F' => "g4 v7",
                'g' => "g2",
                '^g'=> "g1 vim6",
                'h' => "g8 modev",
                'H' => "g8 modev",
-               '^h'=> "g8 modev vim6 new",
+               '^h'=> "g8 modev v6",
                'i' => "g6 undo modei",
                'I' => "g6 undo modei",
-               'j' => "g2 vim6 new",
+               'j' => "g2 v6",
                'J' => "g4",
-               'k' => "g2 vim6 new",
-               'm' => "g2 vim6 new",
-               'n' => "g8 vim7 new modev",
-               'N' => "g8 vim7 new modev",
+               'k' => "g2 v6",
+               'm' => "g2 v6",
+               'n' => "g8 v7 modev",
+               'N' => "g8 v7 modev",
                'o' => "g2",
                'p' => "g4 undo",
                'P' => "g4",
                'q' => "g4 argm",
-               'Q' => "g7 vim6 new",
+               'Q' => "g7 v6",
                'r' => "g4 arg",
                'R' => "g6 undo modei",
-               's' => "g1 vim6 new",
-               't' => "g3 vim7 new",
-               'T' => "g3 vim7 new",
-               'u' => "g4 argm vim6 new", # XXX undo?
-               'U' => "g4 undo argm vim6 new",
+               's' => "g1 v6",
+               't' => "g3 v7",
+               'T' => "g3 v7",
+               'u' => "g4 argm v6", # XXX undo?
+               'U' => "g4 undo argm v6",
                'v' => 'g8 modev',
                'V' => "g4",
-               'w' => "g4 argm vim7 new",
-               'x' => "g4 vim7 new",
+               'w' => "g4 argm v7",
+               'x' => "g4 v7",
        }, # mode g
 
        Z => {
@@ -673,7 +673,7 @@ def => {
                "\e"=> "g7 mode",
                '^['=> "=\e",
 
-               'Q' => "g4 vim6 new",
+               'Q' => "g4 v6",
                'Z' => "g4",
        }, # mode Z
 
@@ -685,47 +685,47 @@ def => {
                '^' => "g3",
                '+' => "g3",
                '-' => "g3",
-               '=' => "g4 vim7 new",
+               '=' => "g4 v7",
                '.' => "g3",
                '^['=> "=\e",
 
-               'a' => "g4 vim6 new folding",
-               'A' => "g4 vim6 new folding",
+               'a' => "g4 v6 folding",
+               'A' => "g4 v6 folding",
                'b' => "g3",
-               'c' => "g4 vim6 new folding",
-               'C' => "g4 vim6 new folding",
-               'd' => "g4 vim6 new folding",
-               'D' => "g4 vim6 new folding",
+               'c' => "g4 v6 folding",
+               'C' => "g4 v6 folding",
+               'd' => "g4 v6 folding",
+               'D' => "g4 v6 folding",
                'e' => "g3",
-               'E' => "g4 vim6 new folding",
-               'f' => "g4 argm vim6 new folding",
-               'F' => "g4 vim6 new folding",
-               'g' => "g4 vim7 new",
-               'G' => "g4 vim7 new",
+               'E' => "g4 v6 folding",
+               'f' => "g4 argm v6 folding",
+               'F' => "g4 v6 folding",
+               'g' => "g4 v7",
+               'G' => "g4 v7",
                'h' => "g3",
                'H' => "g3",
-               'i' => "g4 vim6 new folding",
-               'j' => "g2 vim6 new folding",
-               'k' => "g2 vim6 new folding",
+               'i' => "g4 v6 folding",
+               'j' => "g2 v6 folding",
+               'k' => "g2 v6 folding",
                'l' => "g3",
                'L' => "g3",
                '^m'=> "g3",
-               'm' => "g4 vim6 new folding",
-               'M' => "g4 vim6 new folding",
-               'n' => "g4 vim6 new folding",
-               'N' => "g4 vim6 new folding",
-               'o' => "g4 vim6 new folding",
-               'O' => "g4 vim6 new folding",
-               'r' => "g4 vim6 new folding",
-               'R' => "g4 vim6 new folding",
+               'm' => "g4 v6 folding",
+               'M' => "g4 v6 folding",
+               'n' => "g4 v6 folding",
+               'N' => "g4 v6 folding",
+               'o' => "g4 v6 folding",
+               'O' => "g4 v6 folding",
+               'r' => "g4 v6 folding",
+               'R' => "g4 v6 folding",
                's' => "g3",
                't' => "g3",
-               'u' => "g4 arg vim7 new",
-               'v' => "g4 vim6 new folding",
-               'w' => "g4 vim7 new",
-               'W' => "g4 vim7 new",
-               'x' => "g4 vim6 new folding",
-               'X' => "g4 vim6 new folding",
+               'u' => "g4 arg v7",
+               'v' => "g4 v6 folding",
+               'w' => "g4 v7",
+               'W' => "g4 v7",
+               'x' => "g4 v6 folding",
+               'X' => "g4 v6 folding",
                'z' => "g3",
        }, # mode z
 
@@ -734,12 +734,12 @@ def => {
 
                "\e"=> "g7 mode",
 
-               "`" => "g2 vim6 new",
+               "`" => "g2 v6",
                '#' => "g2",
                '(' => "g2",
                '*' => "=[/",
                '/' => "g2",
-               "'" => "=[` ^", # vim6 new
+               "'" => "=[` ^", # v6
                '{' => "g2",
                '[' => "g2",
                '^['=> "=\e",
@@ -756,9 +756,9 @@ def => {
                'm' => "g2",
                'p' => "g4",
                'P' => "g4",
-               's' => "g3 vim7 new",
-               'S' => "g3 vim7 new",
-               'z' => "g2 vim6 new folding",
+               's' => "g3 v7",
+               'S' => "g3 v7",
+               'z' => "g2 v6 folding",
        }, # mode [
 
        ']' => {
@@ -766,11 +766,11 @@ def => {
 
                "\e"=> "g7 mode",
 
-               "`" => "g2 vim6 new",
+               "`" => "g2 v6",
                '#' => "g2",
                ')' => "g2",
                '*' => "=]/",
-               "'" => "=]` ^", # vim6 new
+               "'" => "=]` ^", # v6
                '/' => "g2",
                '[' => "g2",
                '^['=> "=\e",
@@ -788,9 +788,9 @@ def => {
                'm' => "g2",
                'p' => "g4",
                'P' => "=[p",
-               's' => "g3 vim7 new",
-               'S' => "g3 vim7 new",
-               'z' => "g2 vim6 new folding",
+               's' => "g3 v7",
+               'S' => "g3 v7",
+               'z' => "g2 v6 folding",
        }, # mode ]
 
        '^w' => {
@@ -815,7 +815,7 @@ def => {
                '^c'=> "g7 mode",
                'd' => "g3",
                'f' => "g4",
-               'F' => "g4 vim7 new",
+               'F' => "g4 v7",
                'g' => "g9 arg mode^wg",
                'h' => "g3",
                'H' => "g3",
@@ -836,7 +836,7 @@ def => {
                's' => "g3",
                'S' => "=^ws",
                't' => "g3",
-               'T' => "g3 vim7 new",
+               'T' => "g3 v7",
                'v' => "g3",
                'w' => "g3",
                'W' => "g3",
@@ -852,8 +852,8 @@ def => {
                ']' => "g3",
                '}' => "g3",
                '^]'=> "g3",
-               'f' => "g4 vim7 new",
-               'F' => "g4 vim7 new",
+               'f' => "g4 v7",
+               'F' => "g4 v7",
        }, # mode ^w g
 
        v => {
@@ -867,24 +867,24 @@ def => {
                '<' => "g4",
                '=' => 'g4 undo',
                '>' => 'g4',
-               '~' => "g4 vim6 new",
+               '~' => "g4 v6",
                '^['=> "=\e",
                '^]'=> "g3",
                '^\\'=>'^\\',
 
-               'a' => 'g9 modeva arg vim6 new',
-               'A' => 'g6 modei vim6 new',
-               '^a'=> 'g4 undo vim8 new',
-               'c' => 'g6 modei vim6 new',
-               'C' => 'g6 modei vim6 new',
+               'a' => 'g9 modeva arg v6',
+               'A' => 'g6 modei v6',
+               '^a'=> 'g4 undo v8',
+               'c' => 'g6 modei v6',
+               'C' => 'g6 modei v6',
                '^c'=> "g7 mode",
-               'd' => "g4 vim6 new",
-               'D' => "g4 vim6 new",
+               'd' => "g4 v6",
+               'D' => "g4 v6",
                'g' => "g9 arg modevg",
                '^g'=> "g8",
                '^h'=> 'g4',
-               'i' => "g9 modeva arg vim6 new",
-               'I' => "g6 modei vim6 new", # block
+               'i' => "g9 modeva arg v6",
+               'I' => "g6 modei v6", # block
                'J' => "g4",
                'K' => 'g4',
                'o' => "g2",
@@ -897,15 +897,15 @@ def => {
                'R' => "=vS",  # "might change in future"
                '^s'=> "=^s",
                's' => "=vc",
-               'S' => 'g6 modei vim6 new',
-               'u' => "g4 vim6 new",
-               'U' => "g4 vim6 new",
+               'S' => 'g6 modei v6',
+               'u' => "g4 v6",
+               'U' => "g4 v6",
                'v' => "g8",
                'V' => "g8",
-               '^v'=> "g8 vim6 new",
+               '^v'=> "g8 v6",
                'x' => "=vd",
                'X' => "=vD",
-               '^x'=> 'g4 undo vim8 new',
+               '^x'=> 'g4 undo v8',
                'y' => "g4",
                'Y' => "g4",
 
@@ -922,14 +922,14 @@ def => {
                "\e"=> "g8 modev",
 
                '^['=> "=\e",
-               '?' => "g4 vim6 new",
-               '^a'=> 'g4 undo vim8 new',
+               '?' => "g4 v6",
+               '^a'=> 'g4 undo v8',
                '^g' => "g1 vim6",
-               'J' => 'g4 vim6 new',
-               'q' => "g4 vim6 new",
+               'J' => 'g4 v6',
+               'q' => "g4 v6",
                'v' => "=gv",
-               'w' => 'g4 vim7 new',
-               '^x'=> 'g4 undo vim8 new',
+               'w' => 'g4 v7',
+               '^x'=> 'g4 undo v8',
        }, # mode v g
 
        va => {
@@ -938,23 +938,23 @@ def => {
                '(' => "=vab",
                ')' => "=vab",
                '`' => "=va'",
-               "'" => 'g2 vim7 new',
+               "'" => 'g2 v7',
                '"' => "=va'",
-               '<' => 'g2 vim6 new',
+               '<' => 'g2 v6',
                '>' => "=va&lt;",
-               '[' => 'g2 vim6 new',
+               '[' => 'g2 v6',
                '{' => "=vaB",
                '^['=> "=\e",
                ']' => "=va[",
                '}' => "=vaB",
 
-               'b' => 'g2 vim6 new',
-               'B' => 'g2 vim6 new',
-               'p' => 'g2 vim6 new',
-               's' => 'g2 vim6 new',
-               't' => 'g2 vim7 new',
-               'w' => 'g2 vim6 new',
-               'W' => 'g2 vim6 new',
+               'b' => 'g2 v6',
+               'B' => 'g2 v6',
+               'p' => 'g2 v6',
+               's' => 'g2 v6',
+               't' => 'g2 v7',
+               'w' => 'g2 v6',
+               'W' => 'g2 v6',
        }, # mode v a
 
        #c => {
@@ -975,7 +975,7 @@ def => {
        #       '^n' => "", #todo
        #       '^p' => "", #todo
        #       '^r' => "=i^r", # and then some...
-       #            ## ["g4 arg vim6 new"],
+       #            ## ["g4 arg v6"],
        #       '^q' => "=^q",
        #       '^u' => "=i^u",
        #       '^v' => "=i^v",
@@ -987,38 +987,38 @@ def => {
                "\e" => "g7 mode",
 
                '^@' => "g4",
-               '^^' => "g4 vim6 new",
+               '^^' => "g4 v6",
                '^['=> "=\e",
-               '^]' => "g4 vim6 new",
-               '^_' => "g4 vim6 new",
+               '^]' => "g4 v6",
+               '^_' => "g4 v6",
                '^\\'=>'^\\',
 
-               '^a' => "g4 vim6 new",
-               '^b' => "no vim6 new",
+               '^a' => "g4 v6",
+               '^b' => "no v6",
                '^c' => "g7 mode",
                '^d' => 'g4',
-               '^e' => "g4 vim6 new",
+               '^e' => "g4 v6",
                '^f' => 'g4',
                '^g' => "g9 modei^g arg",
                '^h' => "g4",
                '^i' => "g4",
                '^j' => "g4",
-               '^k' => 'g4 arg arg vim6 new linkdigraphs',
-               '^l' => "g7 mode vim6 new",  # insertmode only
+               '^k' => 'g4 arg arg v6 linkdigraphs',
+               '^l' => "g7 mode v6",  # insertmode only
                '^m' => "g4",
-               '^n' => "g2 vim6 new",
+               '^n' => "g2 v6",
                '^o' => 'g4',
-               '^p' => "g2 vim6 new",
+               '^p' => "g2 v6",
                '^q' => "=^q",  # or i^v
-               '^r' => 'g4 arg vim6 new',
+               '^r' => 'g4 arg v6',
                '^s' => "=^s",
                '^t' => "g4",
                '^u' => "g4",
                '^v' => 'g4 linkcharset',
                '^w' => "g4",
-               '^x' => 'g9 arg modei^x vim6 new',
-               '^y' => "g4 vim6 new",
-               '^z' => "g1 vim6 new",  # insertmode only
+               '^x' => 'g9 arg modei^x v6',
+               '^y' => "g4 v6",
+               '^z' => "g1 v6",  # insertmode only
        }, # modei
 
        'i^g' => {
@@ -1029,7 +1029,7 @@ def => {
                'k' => 'g2',
                'j' => 'g2',
                'u' => 'g4',
-               'U' => 'g4 vim8 new',
+               'U' => 'g4 v8',
                # other keys (even esc) are not recognized
        }, # mode i ^g
 
@@ -1047,12 +1047,12 @@ def => {
                '^k' => 'g4',
                '^l' => 'g4',
                '^n' => 'g4',
-               '^o' => 'g4 vim7 new',
+               '^o' => 'g4 v7',
                '^p' => 'g4',
                '^s' => 'g4',
                 's' => "=i^x^s",
                '^t' => 'g4',
-               '^u' => 'g4 vim7 new',
+               '^u' => 'g4 v7',
                '^v' => 'g4',
                '^y' => "g3",
        }, # mode i ^x