keyboard: replace vi classes by numbered key groups
authorMischa POSLAWSKY <perl@shiar.org>
Tue, 23 Jun 2015 13:28:03 +0000 (15:28 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 21 Sep 2015 22:20:08 +0000 (00:20 +0200)
27 files changed:
base.css
circus.css
dark.css
darklite.css
less.eng.inc.pl
less.inc.pl
less.plp
mono.css
mplayer.eng.inc.pl
mplayer.inc.pl
mplayer.plp
mutt.eng.inc.pl
mutt.inc.pl
mutt.plp
nethack.eng.inc.pl
nethack.inc.pl
nethack.plp
readline.eng.inc.pl
readline.inc.pl
readline.plp
red.css
vi.eng.inc.pl
vi.inc.pl
vi.plp
vimperator.eng.inc.pl
vimperator.inc.pl
vimperator.plp

index 788e992..1e060d6 100644 (file)
--- a/base.css
+++ b/base.css
@@ -461,55 +461,37 @@ table.dimap {
 /* key type colorization */
 
 .c-sa,
-.ci,
 .g1 {background: #BFE} /* cyan: info */
 .c-na,
-.pm,
 .g2 {background: #BFB} /* green: motion */
-.po,
 .g3 {background: #DFA} /* greenish: jump (g2+) */
 .c-af,
-.co,
 .g4 {background: #FFA} /* yellow: command */
 .c-eu,
-.cp,
 .g5 {background: #FDA} /* orangish: open (g6-) */
-.mi,
 .g6 {background: #FCA} /* orange: insert */
 .c-as,
-.mo,
 .g7 {background: #FCC} /* red: mode */
 .c-an,
-.mv,
 .g8 {background: #ECE} /* purple: visual (g7+) */
 .c-oc,
-.me,
 .g9 {background: #CCF} /* blue: prefix */
 
 .c-sa:hover,
-.ci a:hover, .ci[onclick]:hover,
 .g1 a:hover, .g1[onclick]:hover {background: #5ED}
 .c-na:hover,
-.pm a:hover, .pm[onclick]:hover,
 .g2 a:hover, .g2[onclick]:hover {background: #7E7}
-.po a:hover, .po[onclick]:hover,
 .g3 a:hover, .g3[onclick]:hover {background: #CE6}
 .c-af:hover,
-.co a:hover, .co[onclick]:hover,
 .g4 a:hover, .g4[onclick]:hover {background: #EE4}
 .c-eu:hover,
-.cp a:hover, .cp[onclick]:hover,
 .g5 a:hover, .g5[onclick]:hover {background: #FA6}
-.mi a:hover, .mi[onclick]:hover,
 .g6 a:hover, .g6[onclick]:hover {background: #F97}
 .c-as:hover,
-.mo a:hover, .mo[onclick]:hover,
 .g7 a:hover, .g7[onclick]:hover {background: #F88}
 .c-an:hover,
-.mv a:hover, .mv[onclick]:hover,
 .g8 a:hover, .g8[onclick]:hover {background: #D9D}
 .c-oc:hover,
-.me a:hover, .me[onclick]:hover,
 .g9 a:hover, .g9[onclick]:hover {background: #99F}
 
 .no {
index e444af1..341075b 100644 (file)
 
 .Co {background: #DBB} /* private */
 .c-sa,
-.ci,
 .g1 {background: #8FD}
 .c-na,
-.pm,
 .g2 {background: #8F8}
-.po,
 .g3 {background: #BF6}
 .c-af,
-.co,
 .g4 {background: #FF6}
 .c-eu,
-.cp,
 .g5 {background: #FC6}
-.mi,
 .g6 {background: #F96}
 .c-as,
-.mo,
 .g7 {background: #F77}
 .c-an,
-.mv,
 .g8 {background: #E8E}
 .c-oc,
-.me,
 .g9 {background: #9AF}
 
 .Co:hover                       {background: #000; color: #DBB} /* private */
 
 .c-sa:hover,
-.ci a:hover, .ci[onclick]:hover,
 .g1 a:hover, .g1[onclick]:hover {background: #000; color: #8FD}
 .c-na:hover,
-.pm a:hover, .pm[onclick]:hover,
 .g2 a:hover, .g2[onclick]:hover {background: #000; color: #7E7}
-.po a:hover, .po[onclick]:hover,
 .g3 a:hover, .g3[onclick]:hover {background: #000; color: #CE6}
 .c-af:hover,
-.co a:hover, .co[onclick]:hover,
 .g4 a:hover, .g4[onclick]:hover {background: #000; color: #FF7}
 .c-eu:hover,
-.cp a:hover, .cp[onclick]:hover,
 .g5 a:hover, .g5[onclick]:hover {background: #000; color: #FA6}
-.mi a:hover, .mi[onclick]:hover,
 .g6 a:hover, .g6[onclick]:hover {background: #000; color: #FFA070}
 .c-as:hover,
-.mo a:hover, .mo[onclick]:hover,
 .g7 a:hover, .g7[onclick]:hover {background: #000; color: #F77}
 .c-an:hover,
-.mv a:hover, .mv[onclick]:hover,
 .g8 a:hover, .g8[onclick]:hover {background: #000; color: #E8E}
 .c-oc:hover,
-.me a:hover, .me[onclick]:hover,
 .g9 a:hover, .g9[onclick]:hover {background: #000; color: #99F}
 
 dl.legend dt.ext,
index 3743680..a4dfa6b 100644 (file)
--- a/dark.css
+++ b/dark.css
@@ -74,42 +74,25 @@ th, td {
 /* general colorization */
 
 .c-sa,
-.ci,
 .g1 {background: #044}
 .c-na,
-.pm,
 .g2 {background: #040}
-.po,
 .g3 {background: #340}
 .c-af,
-.co,
 .g4 {background: #440}
 .c-eu,
-.cp,
 .g5 {background: #530}
-.mi,
 .g6 {background: #520}
 .c-as,
-.mo,
 .g7 {background: #500}
 .c-an,
-.mv,
 .g8 {background: #503}
 .c-oc,
-.me,
 .g9 {background: #205}
 .no {background: #222}
 
 .X:hover,
 .l:hover a, .l:hover a:visited,
-.pm a:hover, .pm[onclick]:hover,
-.po a:hover, .po[onclick]:hover,
-.ci a:hover, .ci[onclick]:hover,
-.co a:hover, .co[onclick]:hover,
-.mi a:hover, .mi[onclick]:hover,
-.mo a:hover, .mo[onclick]:hover,
-.mv a:hover, .mv[onclick]:hover,
-.me a:hover, .me[onclick]:hover,
 .g9 a:hover, .g9[onclick]:hover,
 .g8 a:hover, .g8[onclick]:hover,
 .g7 a:hover, .g7[onclick]:hover,
@@ -117,8 +100,7 @@ th, td {
 .g5 a:hover, .g5[onclick]:hover,
 .g4 a:hover, .g4[onclick]:hover,
 .g3 a:hover, .g3[onclick]:hover,
-.g2 a:hover, .g2[onclick]:hover,
-.g1 a:hover, .g1[onclick]:hover {
+.g2 a:hover, .g2[onclick]:hover {
        color: #000; /* on default (light) background hover */
 }
 .legend .ex:hover {background: #666}
index cdd8caa..deaa0cf 100644 (file)
@@ -23,15 +23,15 @@ th, td {
 .Xr {background: #111} /* reverse */
 .Co {background: #181111} /* private */
 
-.me, .c-an  .g9     {background: #102}
-.mv, .c-oc  .g8     {background: #012}
-.mo, .c-as, .g7 .l1 {background: #200}
-.mi         .g6     {}
-.cp, .c-eu, .g5 .l2 {background: #221400}
-.co, .c-af, .g4 .l3 {background: #1C1C00}
-.po         .g3     {}
-.pm, .c-na, .g2 .l4 {background: #002200}
-.ci, .c-sa  .g1     {background: #001A1A}
-.no                 {}
-.u-invalid          {background: #222}
+.c-an  .g9     {background: #102}
+.c-oc  .g8     {background: #012}
+.c-as, .g7 .l1 {background: #200}
+       .g6     {}
+.c-eu, .g5 .l2 {background: #221400}
+.c-af, .g4 .l3 {background: #1C1C00}
+       .g3     {}
+.c-na, .g2 .l4 {background: #002200}
+.c-sa  .g1     {background: #001A1A}
+.no            {}
+.u-invalid     {background: #222}
 
index bdb302c..52c9606 100644 (file)
@@ -116,12 +116,12 @@ mode => {
 },
 
 flag => {
-       ci => [info   => 'Temporary message display (or related option).'],
-       pm => [move   => 'Regular file position panning (or option).'],
-       po => [jump   => 'Other file position manipulation (").'],
-       co => [search => 'Go to matching content (").'],
-       mo => [file   => 'Alter open file buffer (").'],
-       mv => [misc   => 'Other commands and options.'],
+       g1 => [info   => 'Temporary message display (or related option).'],
+       g2 => [move   => 'Regular file position panning (or option).'],
+       g3 => [jump   => 'Other file position manipulation (").'],
+       g4 => [search => 'Go to matching content (").'],
+       g7 => [file   => 'Alter open file buffer (").'],
+       g8 => [misc   => 'Other commands and options.'],
 
        arg  => ["key<arg>" => "Commands with a dot need a char argument afterwards."],
        more => [more => "A small subset is compatible with `more`."],
index 946d444..c76ac73 100644 (file)
@@ -2,150 +2,150 @@ use utf8;
 { # less v418
 
 '' => {
-       "\e"=> 'mo mode^[',
+       "\e"=> 'g7 mode^[',
 
-       'b' => 'pm more',
+       'b' => 'g2 more',
        '^b'=> '=b',
-       'd' => 'pm more',
+       'd' => 'g2 more',
        '^d'=> '=d',
        'e' => '=j',
        '^e'=> '=j',
-       'f' => 'pm more',
+       'f' => 'g2 more',
        '^f'=> '=f',
-       'F' => 'mo',
-       'g' => 'pm',
+       'F' => 'g7',
+       'g' => 'g2',
        '^g'=> '==',
-       'G' => 'pm',
-       'h' => 'mo more',
+       'G' => 'g2',
+       'h' => 'g7 more',
        'H' => '=h',
-       'j' => 'pm',
-       'k' => 'pm',
+       'j' => 'g2',
+       'k' => 'g2',
        '^k'=> '=k',
        '^l'=> '=r', # more
-       'm' => 'po arg',
+       'm' => 'g3 arg',
        '^m'=> '=j',
-       'n' => 'co more',
-       'N' => 'co',
+       'n' => 'g4 more',
+       'N' => 'g4',
        '^n'=> '=j',
-       'p' => 'pm',
+       'p' => 'g2',
        '^p'=> '=k',
-       'q' => 'mv more',
+       'q' => 'g8 more',
        'Q' => '=q',
-       'r' => 'ci',
+       'r' => 'g1',
        '^r'=> '=r',
-       'R' => 'ci',
-       's' => 'mv arg',
-       't' => 'co',
-       'T' => 'co',
-       'u' => 'pm',
+       'R' => 'g1',
+       's' => 'g8 arg',
+       't' => 'g4',
+       'T' => 'g4',
+       'u' => 'g2',
        '^u'=> '=u',
-       'v' => 'mv linkvi more',
+       'v' => 'g8 linkvi more',
        '^v'=> '=f',
-       'V' => 'ci',
-       'w' => 'pm',
-       '^x'=> 'mv arg mode^x',
+       'V' => 'g1',
+       'w' => 'g2',
+       '^x'=> 'g8 arg mode^x',
        'y' => '=k',
        '^y'=> '=k',
-       'z' => 'pm more',
+       'z' => 'g2 more',
 
-       '!' => 'mv more',
-       '|' => 'mv arg',
-       ':' => 'mv arg mode:',
-       '/' => 'co arg more',
-       '?' => 'co arg',
+       '!' => 'g8 more',
+       '|' => 'g8 arg',
+       ':' => 'g8 arg mode:',
+       '/' => 'g4 arg more',
+       '?' => 'g4 arg',
        '%' => '=p',
-       '&' => 'co arg',
-       "'" => 'po arg',
-       '-' => 'mv arg mode-',
-       '_' => 'ci arg mode-',
-       '=' => 'ci more',
-       '+' => 'mo',
+       '&' => 'g4 arg',
+       "'" => 'g3 arg',
+       '-' => 'g8 arg mode-',
+       '_' => 'g1 arg mode-',
+       '=' => 'g1 more',
+       '+' => 'g7',
 
-       '(' => 'co',
+       '(' => 'g4',
        '<' => '=g',
        '>' => '=G',
 },
 
 '^[' => { # esc
-       "\e"=> 'mo mode',
-       'n' => 'co',
-       'N' => 'co',
-       'u' => 'ci',
+       "\e"=> 'g7 mode',
+       'n' => 'g4',
+       'N' => 'g4',
+       'u' => 'g1',
        'v' => '=b',
-       '(' => 'pm',
-       ')' => 'pm',
+       '(' => 'g2',
+       ')' => 'g2',
        '<' => '=g',
        '>' => '=G',
 },
 
 #'^x' => {
-#      "\e"=> 'mo mode',
+#      "\e"=> 'g7 mode',
 #      '^x' => "='",
 #      '^v' => '=:e',
 #},
 
 ':' => {
-       "\e"=> 'mo mode',
-       'd' => 'mo',
-       'e' => 'mo',
+       "\e"=> 'g7 mode',
+       'd' => 'g7',
+       'e' => 'g7',
        'f' => '==',
-       'n' => 'mo more',
-       'p' => 'mo more',
+       'n' => 'g7 more',
+       'p' => 'g7 more',
        'q' => '=q',
        'Q' => '=:q',
-       'x' => 'mo',
+       'x' => 'g7',
 },
 
 '-' => {
-       "\e"=> 'mo mode',
-       'a' => 'co',
-       'b' => 'mo arg',
-       'B' => 'mo',
-       'c' => 'pm',
-       'd' => 'mv',
-       'D' => 'mv arg ext',
-       'e' => 'mo',
-       'E' => 'mo',
-       'f' => 'mo',
-       'F' => 'mo',
-       'g' => 'co',
-       'h' => 'pm arg',
-       'i' => 'co',
-       'I' => 'co',
-       'j' => 'po arg',
-       'J' => 'ci',
-       'k' => 'mv arg',
-       'L' => 'mv',
-       'm' => 'ci',
-       'M' => 'ci',
-       'n' => 'mv',
-       'N' => 'ci',
-       'o' => 'me arg',
-       'O' => 'me arg',
-       'p' => 'co arg',
-       'P' => 'ci arg',
-       'q' => 'mv',
-       'Q' => 'mv',
-       'r' => 'mv',
-       'R' => 'mv',
-       's' => 'mv',
-       'S' => 'mv',
-       't' => 'co arg',
-       'T' => 'co arg',
-       'u' => 'mv',
-       'U' => 'mv',
+       "\e"=> 'g7 mode',
+       'a' => 'g4',
+       'b' => 'g7 arg',
+       'B' => 'g7',
+       'c' => 'g2',
+       'd' => 'g8',
+       'D' => 'g8 arg ext',
+       'e' => 'g7',
+       'E' => 'g7',
+       'f' => 'g7',
+       'F' => 'g7',
+       'g' => 'g4',
+       'h' => 'g2 arg',
+       'i' => 'g4',
+       'I' => 'g4',
+       'j' => 'g3 arg',
+       'J' => 'g1',
+       'k' => 'g8 arg',
+       'L' => 'g8',
+       'm' => 'g1',
+       'M' => 'g1',
+       'n' => 'g8',
+       'N' => 'g1',
+       'o' => 'g9 arg',
+       'O' => 'g9 arg',
+       'p' => 'g4 arg',
+       'P' => 'g1 arg',
+       'q' => 'g8',
+       'Q' => 'g8',
+       'r' => 'g8',
+       'R' => 'g8',
+       's' => 'g8',
+       'S' => 'g8',
+       't' => 'g4 arg',
+       'T' => 'g4 arg',
+       'u' => 'g8',
+       'U' => 'g8',
        'V' => '=V',
-       'w' => 'mv',
-       'W' => 'mv',
-       'x' => 'mv arg',
-       'X' => 'mv',
-       'y' => 'pm arg',
-       'z' => 'pm arg',
-       '"' => 'mv arg',
-       '~' => 'mv',
-       '#' => 'pm arg',
-       '-' => 'mv arg',
-       '+' => 'mv arg',
+       'w' => 'g8',
+       'W' => 'g8',
+       'x' => 'g8 arg',
+       'X' => 'g8',
+       'y' => 'g2 arg',
+       'z' => 'g2 arg',
+       '"' => 'g8 arg',
+       '~' => 'g8',
+       '#' => 'g2 arg',
+       '-' => 'g8 arg',
+       '+' => 'g8 arg',
 },
 
 }
index 8d88a91..f394f67 100644 (file)
--- a/less.plp
+++ b/less.plp
@@ -33,7 +33,7 @@ $keys->print_rows($get{rows}, [1,0]);
 
 <div class="help">
        <div class="left">
-<: $keys->print_legend('legend-types', [qw( ci pm po co mo mv )]) :>
+<: $keys->print_legend('legend-types', ['g1' .. 'g4', 'g7', 'g8']) :>
        </div>
 
        <div class="right">
index 57a5cf4..829c93b 100644 (file)
--- a/mono.css
+++ b/mono.css
@@ -28,15 +28,15 @@ td,
 .p1.p::after,
 .p0.p::after {content: '!'}
 
-.ci, .g1 {background: #777}   /* info */
-.pm, .g2 {background: #FFF}   /* motion */
-.po, .g3 {background: #DDD}   /* window */
-.co, .g4 {background: #AAA}   /* command */
-.cp, .g5 {background: #AAA; color: #FFF}   /* open */
-.mi, .g6 {background: #888; color: #FFF}   /* insert mode */
-.mv, .g7 {background: #444; color: #FFF}   /* visual mode */
-.mo, .g8 {background: #000; color: #FFF}   /* mode */
-.me, .g9 {background: #000; color: #AAA}   /* key mode */
+.g1 {background: #777}   /* info */
+.g2 {background: #FFF}   /* motion */
+.g3 {background: #DDD}   /* window */
+.g4 {background: #AAA}   /* command */
+.g5 {background: #AAA; color: #FFF}   /* open */
+.g6 {background: #888; color: #FFF}   /* insert mode */
+.g7 {background: #444; color: #FFF}   /* visual mode */
+.g8 {background: #000; color: #FFF}   /* mode */
+.g9 {background: #000; color: #AAA}   /* key mode */
 
 .keys td[onclick]:hover,
 .keys td a:hover,
index bfdfb7a..a035b96 100644 (file)
@@ -56,12 +56,12 @@ mode => {
 },
 
 flag => {
-       ci => [osd       => "Print information or change display."],
-       pm => [subtitles => "Alter subtitle selection and settings."],
-       co => [video     => "Video output adjustment."],
-       mi => [audio     => "Sound (track) configuration."],
-       mo => [playback  => "Playback control."],
-       me => [general   => "Other MPlayer features."],
+       g1 => [osd       => "Print information or change display."],
+       g2 => [subtitles => "Alter subtitle selection and settings."],
+       g4 => [video     => "Video output adjustment."],
+       g6 => [audio     => "Sound (track) configuration."],
+       g7 => [playback  => "Playback control."],
+       g9 => [general   => "Other MPlayer features."],
 
        arg => ["key<arg>" => "Commands with a dot need an argument afterwards."],
        ext => ["optional" => "Some features depend on setup and/or parameters."],
index a4554ef..2431fdd 100644 (file)
@@ -3,55 +3,55 @@ use utf8;
 
 '' => {
        "\e"=> 'q',
-       '[' => 'mo',
-       ']' => 'mo',
-       '{' => 'mo',
-       '}' => 'mo',
-       '<' => 'me',
-       '>' => 'me',
-       'p' => 'mo',
-       '.' => 'mo',
-       'q' => 'me',
-       '+' => 'mi',
-       '-' => 'mi',
-       '/' => 'mi',
-       '*' => 'mi',
+       '[' => 'g7',
+       ']' => 'g7',
+       '{' => 'g7',
+       '}' => 'g7',
+       '<' => 'g9',
+       '>' => 'g9',
+       'p' => 'g7',
+       '.' => 'g7',
+       'q' => 'g9',
+       '+' => 'g6',
+       '-' => 'g6',
+       '/' => 'g6',
+       '*' => 'g6',
        '9' => '=/',
        '0' => '=*',
-       'm' => 'mi',
-       '#' => 'mi',
-       'f' => 'co',
-       'T' => 'co',
-       'w' => 'co',
-       'e' => 'co',
-       'o' => 'ci',
-       'd' => 'co',
-       'v' => 'pm',
-       'b' => 'pm',
-       'j' => 'pm',
-       'y' => 'pm',
-       'g' => 'pm',
-       'F' => 'pm',
-       'a' => 'pm',
-       'c' => 'co ext',
-       'n' => 'co ext',
-       'x' => 'pm',
-       'z' => 'pm',
-       'r' => 'pm',
-       't' => 'pm',
-       's' => 'me ext',
-       'S' => 'me ext',
-       'I' => 'ci',
-       '!' => 'mo',
-       '@' => 'mo',
-       '1' => 'co ext',
-       '2' => 'co ext',
-       '3' => 'co ext',
-       '4' => 'co ext',
-       '5' => 'co ext',
-       '6' => 'co ext',
-       '7' => 'co ext',
-       '8' => 'co ext',
+       'm' => 'g6',
+       '#' => 'g6',
+       'f' => 'g4',
+       'T' => 'g4',
+       'w' => 'g4',
+       'e' => 'g4',
+       'o' => 'g1',
+       'd' => 'g4',
+       'v' => 'g2',
+       'b' => 'g2',
+       'j' => 'g2',
+       'y' => 'g2',
+       'g' => 'g2',
+       'F' => 'g2',
+       'a' => 'g2',
+       'c' => 'g4 ext',
+       'n' => 'g4 ext',
+       'x' => 'g2',
+       'z' => 'g2',
+       'r' => 'g2',
+       't' => 'g2',
+       's' => 'g9 ext',
+       'S' => 'g9 ext',
+       'I' => 'g1',
+       '!' => 'g7',
+       '@' => 'g7',
+       '1' => 'g4 ext',
+       '2' => 'g4 ext',
+       '3' => 'g4 ext',
+       '4' => 'g4 ext',
+       '5' => 'g4 ext',
+       '6' => 'g4 ext',
+       '7' => 'g4 ext',
+       '8' => 'g4 ext',
 },
 
 }
index 93d1d69..dfc62da 100644 (file)
@@ -32,7 +32,7 @@ $keys->print_rows($get{rows}, [1,0]);
 
 <div class="help">
        <div class="left">
-<: $keys->print_legend('legend-types', [qw( ci pm co mi mo me )]) :>
+<: $keys->print_legend('legend-types', [qw( g1 g2 g4 g6 g7 g9 )]) :>
        </div>
 
        <div class="right">
index ea49e9d..08e1e2e 100644 (file)
@@ -210,14 +210,14 @@ mode => {
 },
 
 flag => {
-       ci => [aside   => "Temporarily display something without changing state."],
-       pm => [select  => "Scroll list and/or select a different line."],
-       po => [search  => "Go to a specific message entry."],
-       co => [edit    => "Modify message flags or contents."],
-       mi => [command => "Any other action which does not alter an existing message."],
-       mo => [send    => "Prepare and/or send a (new) message."],
-       mv => [leave   => "Exit the opened folder."],
-       me => [display => "Permanently alter/toggle current view."],
+       g1 => [aside   => "Temporarily display something without changing state."],
+       g2 => [select  => "Scroll list and/or select a different line."],
+       g3 => [search  => "Go to a specific message entry."],
+       g4 => [edit    => "Modify message flags or contents."],
+       g6 => [command => "Any other action which does not alter an existing message."],
+       g7 => [send    => "Prepare and/or send a (new) message."],
+       g8 => [leave   => "Exit the opened folder."],
+       g9 => [display => "Permanently alter/toggle current view."],
 
        arg => ["key<arg>" => "Commands with a dot need an argument afterwards."],
 },
index 230ab59..5bc4189 100644 (file)
@@ -1,33 +1,33 @@
 use utf8;
 
 my %common = (
-       "\e"=> 'me mode',
+       "\e"=> 'g9 mode',
 
-       'H' => 'pm', # top-page
-       'j' => 'pm', # next-entry, next-undeleted
-       'k' => 'pm', # previous-entry, previous-undeleted
-       'L' => 'pm', # bottom-page
-       '^l'=> 'ci', # refresh
-       'M' => 'pm', # middle-page
-       '^m'=> 'mi mode^m', # select-entry, display-message
-       'n' => 'po', # search-next
-       'q' => 'mv mode', # exit
-       't' => 'co', # tag-entry
-       'z' => 'pm', # next-page
-       'Z' => 'pm', # previous-page
+       'H' => 'g2', # top-page
+       'j' => 'g2', # next-entry, next-undeleted
+       'k' => 'g2', # previous-entry, previous-undeleted
+       'L' => 'g2', # bottom-page
+       '^l'=> 'g1', # refresh
+       'M' => 'g2', # middle-page
+       '^m'=> 'g6 mode^m', # select-entry, display-message
+       'n' => 'g3', # search-next
+       'q' => 'g8 mode', # exit
+       't' => 'g4', # tag-entry
+       'z' => 'g2', # next-page
+       'Z' => 'g2', # previous-page
 
-       '*' => 'pm', # last-entry
-       '=' => 'pm', # first-entry
-       ':' => 'mi', # enter-command
-       ';' => 'mi arg', # tag-prefix
-       '>' => 'pm', # next-line
-       '<' => 'pm', # previous-line
-       ']' => 'pm', # half-down
-       '[' => 'pm', # half-up
-       '?' => 'ci', # help
-       '!' => 'ci arg', # shell
-       '/' => 'po arg mode/~', # search
-       '+/'=> 'po arg mode/~', # search
+       '*' => 'g2', # last-entry
+       '=' => 'g2', # first-entry
+       ':' => 'g6', # enter-command
+       ';' => 'g6 arg', # tag-prefix
+       '>' => 'g2', # next-line
+       '<' => 'g2', # previous-line
+       ']' => 'g2', # half-down
+       '[' => 'g2', # half-up
+       '?' => 'g1', # help
+       '!' => 'g1 arg', # shell
+       '/' => 'g3 arg mode/~', # search
+       '+/'=> 'g3 arg mode/~', # search
 );
 
 {
@@ -35,139 +35,139 @@ my %common = (
 '' => {
        %common,
 
-       '@' => 'ci', # display-address
-       '.' => 'mv', # buffy-list #TODO
-       '|' => 'mi', # pipe-message
-       '$' => 'co', # sync-mailbox
-       '#' => 'co', # break-thread
-       '&' => 'co', # link-threads
-       '%' => 'co', # toggle-write
+       '@' => 'g1', # display-address
+       '.' => 'g8', # buffy-list #TODO
+       '|' => 'g6', # pipe-message
+       '$' => 'g4', # sync-mailbox
+       '#' => 'g4', # break-thread
+       '&' => 'g4', # link-threads
+       '%' => 'g4', # toggle-write
        ' ' => '=^m',
 
-       'a' => 'mi', # create-alias
-       'b' => 'mo', # bounce-message
-       '^b'=> 'ci',
+       'a' => 'g6', # create-alias
+       'b' => 'g7', # bounce-message
+       '^b'=> 'g1',
        '+b'=> undef, # M <search>~b
-       'c' => 'mv', # change-folder
-       'C' => 'mi', # copy-message
-       '+c'=> 'mv', # change-folder-readonly
+       'c' => 'g8', # change-folder
+       'C' => 'g6', # copy-message
+       '+c'=> 'g8', # change-folder-readonly
        '+C'=> undef, # decode-copy
-       'd' => 'co', # delete-message
-       'D' => 'co arg', # delete-pattern
-       '^d'=> 'co', # delete-thread
-       '+d'=> 'co', # delete-subthread
-       'e' => 'co linkvi', # edit
-       '^e'=> 'co', # edit-type
+       'd' => 'g4', # delete-message
+       'D' => 'g4 arg', # delete-pattern
+       '^d'=> 'g4', # delete-thread
+       '+d'=> 'g4', # delete-subthread
+       'e' => 'g4 linkvi', # edit
+       '^e'=> 'g4', # edit-type
        '+e'=> undef, # resend-message
-       'f' => 'mo modem', # forward-message
-       'F' => 'co', # flag-message
-       '^f'=> 'mi', # forget-passphrase
-       'g' => 'mo modem', # group-reply
-       'G' => 'mi', # fetch-mail
-       'h' => 'me', # display-toggle-weed
-       '^i'=> 'po', # next-new-then-unread
+       'f' => 'g7 modem', # forward-message
+       'F' => 'g4', # flag-message
+       '^f'=> 'g6', # forget-passphrase
+       'g' => 'g7 modem', # group-reply
+       'G' => 'g6', # fetch-mail
+       'h' => 'g9', # display-toggle-weed
+       '^i'=> 'g3', # next-new-then-unread
        '+^i'=> undef, # previous-new-then-unread
-       'j' => 'pm', # next-undeleted
-       'k' => 'pm', # previous-undeleted
-       'J' => 'po', # next-entry
-       'K' => 'po', # previous-entry
-       '^k'=> 'ci', # extract-keys
-       '+k'=> 'mo modem', # mail-key
-       'l' => 'me', # limit
-       'L' => 'mo modem', # list-reply
-       '+l'=> 'ci', # show-limit
-       'm' => 'mo modem', # mail
-       'N' => 'co', # toggle-new
-       '^n'=> 'po', # next-thread
-       '+n'=> 'po', # next-subthread
-       'o' => 'me modeo', # sort-mailbox
-       'O' => 'me modeo', # sort-reverse
-       'p' => 'ci', # print-message
-       'P' => 'po', # parent-message
-       '^p'=> 'po', # previous-thread
-       '+p'=> 'po', # previous-subthread
+       'j' => 'g2', # next-undeleted
+       'k' => 'g2', # previous-undeleted
+       'J' => 'g3', # next-entry
+       'K' => 'g3', # previous-entry
+       '^k'=> 'g1', # extract-keys
+       '+k'=> 'g7 modem', # mail-key
+       'l' => 'g9', # limit
+       'L' => 'g7 modem', # list-reply
+       '+l'=> 'g1', # show-limit
+       'm' => 'g7 modem', # mail
+       'N' => 'g4', # toggle-new
+       '^n'=> 'g3', # next-thread
+       '+n'=> 'g3', # next-subthread
+       'o' => 'g9 modeo', # sort-mailbox
+       'O' => 'g9 modeo', # sort-reverse
+       'p' => 'g1', # print-message
+       'P' => 'g3', # parent-message
+       '^p'=> 'g3', # previous-thread
+       '+p'=> 'g3', # previous-subthread
        '+P'=> undef, # check-traditional-pgp
-       'q' => 'mv', # quit
-       'Q' => 'ci arg', # query
-       'r' => 'mo modem', # reply
-       'R' => 'mo modem', # recall-message
-       '^r'=> 'co', # read-thread
-       '+r'=> 'co', # read-subthread
-       's' => 'co', # save-message
-       '+s'=> 'co', # decode-save
-       'T' => 'co arg', # tag-pattern
-       '^t'=> 'co', # untag-pattern
-       '+t'=> 'co', # tag-thread
-       'u' => 'co', # undelete-message
-       'U' => 'co arg', # undelete-pattern
-       '^u'=> 'co', # undelete-thread
-       '+u'=> 'co', # undelete-subthread
-       'v' => 'ci', # view-attachments
-       'V' => 'ci', # show-version
-       '+v'=> 'me', # collapse-thread
-       '+V'=> 'me', # collapse-all
-       'w' => 'co arg modew', # set-flag
-       'W' => 'co arg modew', # clear-flag
-       'x' => 'mv', # exit
-       'y' => 'mv', # M <change-folder>?<toggle-mailboxes>
+       'q' => 'g8', # quit
+       'Q' => 'g1 arg', # query
+       'r' => 'g7 modem', # reply
+       'R' => 'g7 modem', # recall-message
+       '^r'=> 'g4', # read-thread
+       '+r'=> 'g4', # read-subthread
+       's' => 'g4', # save-message
+       '+s'=> 'g4', # decode-save
+       'T' => 'g4 arg', # tag-pattern
+       '^t'=> 'g4', # untag-pattern
+       '+t'=> 'g4', # tag-thread
+       'u' => 'g4', # undelete-message
+       'U' => 'g4 arg', # undelete-pattern
+       '^u'=> 'g4', # undelete-thread
+       '+u'=> 'g4', # undelete-subthread
+       'v' => 'g1', # view-attachments
+       'V' => 'g1', # show-version
+       '+v'=> 'g9', # collapse-thread
+       '+V'=> 'g9', # collapse-all
+       'w' => 'g4 arg modew', # set-flag
+       'W' => 'g4 arg modew', # clear-flag
+       'x' => 'g8', # exit
+       'y' => 'g8', # M <change-folder>?<toggle-mailboxes>
 }, # index
 
 'm' => {
        %common,
 
-       '|' => 'co',
-       'a' => 'mi',
-       'A' => 'mi',
-       'b' => 'co',
-       'c' => 'co',
-       'C' => 'mi',
-       'd' => 'co',
-       'D' => 'co',
-       '^d'=> 'co',
-       'e' => 'co linkvi',
-       'E' => 'co linkvi',
-       '^e'=> 'co',
-       'f' => 'co',
-       '^f'=> 'mi',
-       '+f'=> 'co',
-       'F' => 'co',
-       'G' => 'ci',
-       'h' => 'ci',
-       'i' => 'mi',
-       'l' => 'ci',
-       'm' => 'co',
-       'M' => 'co',
-       '^m'=> 'ci',
-       'n' => 'mi',
-       'P' => 'mv mode',
-       'r' => 'co',
-       'R' => 'co',
-       's' => 'co',
-       'S' => 'co menumS',
-       't' => 'co',
-       '^t'=> 'co',
-       'w' => 'mi',
-       'u' => 'mi',
-       'U' => 'co',
-       'y' => 'mo',
+       '|' => 'g4',
+       'a' => 'g6',
+       'A' => 'g6',
+       'b' => 'g4',
+       'c' => 'g4',
+       'C' => 'g6',
+       'd' => 'g4',
+       'D' => 'g4',
+       '^d'=> 'g4',
+       'e' => 'g4 linkvi',
+       'E' => 'g4 linkvi',
+       '^e'=> 'g4',
+       'f' => 'g4',
+       '^f'=> 'g6',
+       '+f'=> 'g4',
+       'F' => 'g4',
+       'G' => 'g1',
+       'h' => 'g1',
+       'i' => 'g6',
+       'l' => 'g1',
+       'm' => 'g4',
+       'M' => 'g4',
+       '^m'=> 'g1',
+       'n' => 'g6',
+       'P' => 'g8 mode',
+       'r' => 'g4',
+       'R' => 'g4',
+       's' => 'g4',
+       'S' => 'g4 menumS',
+       't' => 'g4',
+       '^t'=> 'g4',
+       'w' => 'g6',
+       'u' => 'g6',
+       'U' => 'g4',
+       'y' => 'g7',
 }, # compose
 
 w => {
-       "\e"=> 'me mode',
-       'D' => 'co',
+       "\e"=> 'g9 mode',
+       'D' => 'g4',
        'd' => '=wD',
-       'N' => 'co',
+       'N' => 'g4',
        'n' => '=wN',
-       'O' => 'co',
+       'O' => 'g4',
        'o' => '=wO',
-       'r' => 'co',
+       'r' => 'g4',
        'R' => '=wr',
-       '*' => 'co',
-       '!' => 'co',
+       '*' => 'g4',
+       '!' => 'g4',
 }, # flag
 
 '/~' => {
-       "\e"=> 'me mode',
+       "\e"=> 'g9 mode',
        A => undef,
        b => 'X arg',
        B => 'arg',
index c489f16..872004c 100644 (file)
--- a/mutt.plp
+++ b/mutt.plp
@@ -32,7 +32,7 @@ $keys->print_rows($get{rows});
 
 <div class="help">
        <div class="left">
-<: $keys->print_legend('legend-types', [qw( ci pm po co mi mo mv me )]) :>
+<: $keys->print_legend('legend-types', ['g1' .. 'g4', 'g6' .. 'g9']) :>
        </div>
 
        <div class="right">
index 3a8f133..62fed64 100644 (file)
@@ -140,12 +140,12 @@ mode => {
 },
 
 flag => {
-       pm => [direction => "Direction to move to or target a command (<motion>)."],
-       po => [move      => "Other character movement."],
-       co => [act       => "Direct action command: takes a turn."],
-       mi => [info      => "Informational command: shows/does something without ending the turn."],
-       mo => [invertory => "Display invertory menu."],
-       mv => [menu      => "Enters some other menu."],
+       g2 => [direction => "Direction to move to or target a command (<motion>)."],
+       g3 => [move      => "Other character movement."],
+       g4 => [act       => "Direct action command: takes a turn."],
+       g6 => [info      => "Informational command: shows/does something without ending the turn."],
+       g7 => [invertory => "Display invertory menu."],
+       g8 => [menu      => "Enters some other menu."],
 
        arg  => ["key<arg>"  => "Commands with a dot need at least one argument afterwards."],
        argi => ["key<argi>" => "Asks for an inventory item."],
index d6d580e..466cf0c 100644 (file)
@@ -2,141 +2,141 @@ use utf8;
 {
 
 '' => {
-       'b' => 'pm',
-       'j' => 'pm',
-       'n' => 'pm',
-       'h' => 'pm',
-       'l' => 'pm',
-       'y' => 'pm',
-       'k' => 'pm',
-       'u' => 'pm',
+       'b' => 'g2',
+       'j' => 'g2',
+       'n' => 'g2',
+       'h' => 'g2',
+       'l' => 'g2',
+       'y' => 'g2',
+       'k' => 'g2',
+       'u' => 'g2',
 
-       'B' => 'po',
-       'J' => 'po',
-       'N' => 'po',
-       'H' => 'po',
-       'L' => 'po',
-       'Y' => 'po',
-       'K' => 'po',
-       'U' => 'po',
+       'B' => 'g3',
+       'J' => 'g3',
+       'N' => 'g3',
+       'H' => 'g3',
+       'L' => 'g3',
+       'Y' => 'g3',
+       'K' => 'g3',
+       'U' => 'g3',
 
-       '^b'=> 'po',
-       '^j'=> 'po',
-       '^n'=> 'po',
-       '^h'=> 'po',
-       '^l'=> 'po',
-       '^y'=> 'po',
-       '^k'=> 'po',
-       '^u'=> 'po',
+       '^b'=> 'g3',
+       '^j'=> 'g3',
+       '^n'=> 'g3',
+       '^h'=> 'g3',
+       '^l'=> 'g3',
+       '^y'=> 'g3',
+       '^k'=> 'g3',
+       '^u'=> 'g3',
 
-       'g' => 'po argm',
-       'm' => 'po argm',
-       'G' => 'po argm',
+       'g' => 'g3 argm',
+       'm' => 'g3 argm',
+       'G' => 'g3 argm',
 
-       '?' => 'mv mode?', #help
-       '+?'=> 'mv',
-       '/' => 'mi arg mode/', #whatis
-       '&' => 'mi arg',
-       '<' => 'pm', #up
-       '>' => 'pm', #down
-       '.' => 'pm', #rest
-       '_' => 'po argM', #travel
+       '?' => 'g8 mode?', #help
+       '+?'=> 'g8',
+       '/' => 'g6 arg mode/', #whatis
+       '&' => 'g6 arg',
+       '<' => 'g2', #up
+       '>' => 'g2', #down
+       '.' => 'g2', #rest
+       '_' => 'g3 argM', #travel
 
-       '+2'=> 'co', #twoweapon
-       'a' => 'co argi', #apply
-       'A' => 'co', #armor
-       '^a'=> 'co', #again
-       '+a'=> 'mi', #adjust
-       'c' => 'co argm', #close
-       'C' => 'co arg', #call
-       '+c'=> 'co arg', #chat
-       'd' => 'co argi', #drop
-       'D' => 'co arg modeD', #Drop
-       '^d'=> 'co argm', #kick
-       '+d'=> 'co argi', #dip
-       'e' => 'co argi', #eat
-       'E' => 'co argi', #engrave
-       '+e'=> 'co', #enhance
-       'f' => 'co argm', #fire
-       'F' => 'co argm', #fight
-       '+f'=> 'co', #force
-       'i' => 'mo', #invent
-       'I' => 'mo arg modeI', #Invent
-       '+i'=> 'co argi', #invoke
-       '+j'=> 'co', #jump
-       '+l'=> 'co', #loot
-       '+m'=> 'co', #monster
-       '+n'=> 'mo arg', #name
-       'o' => 'co argm', #open
-       'O' => 'mv modeO', #options
-       '+o'=> 'co argi', #offer
-       'p' => 'co', #pay
-       'P' => 'co argi', #puton
-       '^p'=> 'mi', #prevmsg
-       '+p'=> 'co arg', #pray
-       'q' => 'co argi', #quaff
-       'Q' => 'co argi', #quiver
-       '+q'=> 'mi', #quit
-       'r' => 'co argi', #read
-       'R' => 'co argi', #remove
-       '^r'=> 'mi', #redraw
-       '+r'=> 'co argi', #rub
-       's' => 'co', #search
-       'S' => 'mi', #save
-       '+s'=> 'co', #sit
-       't' => 'co argm', #throw
-       'T' => 'co argi', #takeoff
-       '^t'=> 'co', #'port
-       '+t'=> 'co', #turn
-       '+u'=> 'co', #untrap
-       'v' => 'mi',
-       'V' => 'mi', #history
-       '+v'=> 'mi', #version
-       'w' => 'co argi', #wield
-       'W' => 'co argi', #wear
-       '+w'=> 'co', #wipe
-       'x' => 'co', #xchange
-       'X' => 'mi', #explore
-       '^x'=> 'mi', #show
-       'z' => 'co argm', #zap
-       'Z' => 'co argi', #Zap
-       '^z'=> 'mi', #suspend
+       '+2'=> 'g4', #twoweapon
+       'a' => 'g4 argi', #apply
+       'A' => 'g4', #armor
+       '^a'=> 'g4', #again
+       '+a'=> 'g6', #adjust
+       'c' => 'g4 argm', #close
+       'C' => 'g4 arg', #call
+       '+c'=> 'g4 arg', #chat
+       'd' => 'g4 argi', #drop
+       'D' => 'g4 arg modeD', #Drop
+       '^d'=> 'g4 argm', #kick
+       '+d'=> 'g4 argi', #dip
+       'e' => 'g4 argi', #eat
+       'E' => 'g4 argi', #engrave
+       '+e'=> 'g4', #enhance
+       'f' => 'g4 argm', #fire
+       'F' => 'g4 argm', #fight
+       '+f'=> 'g4', #force
+       'i' => 'g7', #invent
+       'I' => 'g7 arg modeI', #Invent
+       '+i'=> 'g4 argi', #invoke
+       '+j'=> 'g4', #jump
+       '+l'=> 'g4', #loot
+       '+m'=> 'g4', #monster
+       '+n'=> 'g7 arg', #name
+       'o' => 'g4 argm', #open
+       'O' => 'g8 modeO', #options
+       '+o'=> 'g4 argi', #offer
+       'p' => 'g4', #pay
+       'P' => 'g4 argi', #puton
+       '^p'=> 'g6', #prevmsg
+       '+p'=> 'g4 arg', #pray
+       'q' => 'g4 argi', #quaff
+       'Q' => 'g4 argi', #quiver
+       '+q'=> 'g6', #quit
+       'r' => 'g4 argi', #read
+       'R' => 'g4 argi', #remove
+       '^r'=> 'g6', #redraw
+       '+r'=> 'g4 argi', #rub
+       's' => 'g4', #search
+       'S' => 'g6', #save
+       '+s'=> 'g4', #sit
+       't' => 'g4 argm', #throw
+       'T' => 'g4 argi', #takeoff
+       '^t'=> 'g4', #'port
+       '+t'=> 'g4', #turn
+       '+u'=> 'g4', #untrap
+       'v' => 'g6',
+       'V' => 'g6', #history
+       '+v'=> 'g6', #version
+       'w' => 'g4 argi', #wield
+       'W' => 'g4 argi', #wear
+       '+w'=> 'g4', #wipe
+       'x' => 'g4', #xchange
+       'X' => 'g6', #explore
+       '^x'=> 'g6', #show
+       'z' => 'g4 argm', #zap
+       'Z' => 'g4 argi', #Zap
+       '^z'=> 'g6', #suspend
 
-       ':' => 'mi', #look
-       ';' => 'mi argM', #farlook
-       ',' => 'co', #pickup
-       '@' => 'mi',
-       '^' => 'mi argm', #trap_id
-       ')' => 'mo',
-       '[' => 'mo',
-       '=' => 'mo',
-       '"' => 'mo',
-       '(' => 'mo',
-       '*' => 'mo',
-       '$' => 'mi', #gold
-       '+' => 'mo', #spells
-       '\\'=> 'mo', #known
-       '!' => 'mi', #sh
-       '#' => 'mv',
+       ':' => 'g6', #look
+       ';' => 'g6 argM', #farlook
+       ',' => 'g4', #pickup
+       '@' => 'g6',
+       '^' => 'g6 argm', #trap_id
+       ')' => 'g7',
+       '[' => 'g7',
+       '=' => 'g7',
+       '"' => 'g7',
+       '(' => 'g7',
+       '*' => 'g7',
+       '$' => 'g6', #gold
+       '+' => 'g7', #spells
+       '\\'=> 'g7', #known
+       '!' => 'g6', #sh
+       '#' => 'g8',
 },
 
 'D' => {
-       'B' => 'co',
-       'U' => 'co',
-       'C' => 'co',
-       'X' => 'co',
-       'a' => 'co',
-       'i' => 'mi',
-       'u' => 'co',
-       'm' => 'co argi',
-       '%' => 'co arg',
+       'B' => 'g4',
+       'U' => 'g4',
+       'C' => 'g4',
+       'X' => 'g4',
+       'a' => 'g4',
+       'i' => 'g6',
+       'u' => 'g4',
+       'm' => 'g4 argi',
+       '%' => 'g4 arg',
 },
 
 'I' => {
-       '*' => 'mi',
-       'u' => 'mi',
-       'x' => 'mi',
-       '$' => 'mi',
+       '*' => 'g6',
+       'u' => 'g6',
+       'x' => 'g6',
+       '$' => 'g6',
 },
 
 }
index 7a317a8..53902b0 100644 (file)
@@ -34,7 +34,7 @@ $keys->print_rows($get{rows} || '4321-421', [3,2,1,0]);
 
 <div class="help">
        <div class="left">
-<: $keys->print_legend('legend-types', [qw( pm po co mi mo mv )]) :>
+<: $keys->print_legend('legend-types', ['g2' .. 'g4', 'g6' .. 'g8']) :>
        </div>
 
        <div class="right">
index e67e644..ecf467c 100644 (file)
@@ -85,13 +85,13 @@ 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)."],
+       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 => ["&gt;v2.0" => "Unavailable before readline version 2.1 (1997)."],
index b59701d..d017175 100644 (file)
@@ -2,98 +2,98 @@ use utf8;
 {
 
 '' => {
-       "\e" => 'mv',
+       "\e" => 'g8',
 
-       '+<' => 'co',
+       '+<' => 'g4',
        '+=' => '=+?', #TODO: new # emacs, not in v2.0
-       '+>' => 'co',
+       '+>' => 'g4',
        '^?' => '=^h',
-       '+?' => 'ci',
-       '^@' => 'mv new', # not in v2.0
+       '+?' => 'g1',
+       '^@' => 'g8 new', # not in v2.0
 
-       '+#' => 'mi new', # not in v2.0
-       '+&' => 'mi',
-       '+*' => 'mi new', # not in v2.0
-       '+.' => 'co',
+       '+#' => 'g6 new', # not in v2.0
+       '+&' => 'g6',
+       '+*' => 'g6 new', # not in v2.0
+       '+.' => 'g4',
        '+~' => '=+&amp;', # emacs
 
-       '^[' => 'mv',
+       '^[' => 'g8',
        '^+['=> '=^i',
-       '+\\'=> 'mo',
-       '^]' => 'pm arg new', # not in v2.0
-       '^+]'=> 'pm arg new', # not in v2.0
-       '^_' => 'co',
+       '+\\'=> 'g7',
+       '^]' => 'g2 arg new', # not in v2.0
+       '^+]'=> 'g2 arg new', # not in v2.0
+       '^_' => 'g4',
        '+_' => '=+.',
 
-       '+~' => 'mi ext', # common emacs => '=+&'
-       '+!' => 'mi ext',
-       '+@' => 'mi ext',
-       '+$' => 'mi ext',
-       '+^' => 'co ext',
-       '+/' => 'ci ext',
+       '+~' => 'g6 ext', # common emacs => '=+&'
+       '+!' => 'g6 ext',
+       '+@' => 'g6 ext',
+       '+$' => 'g6 ext',
+       '+^' => 'g4 ext',
+       '+/' => 'g1 ext',
 
-       '^a' => 'pm',
-       '^b' => 'pm',
-       '+b' => 'pm',
-       '^c' => 'mv ext',
-       '+c' => 'mi',
-       '^d' => 'mo',
-       '+d' => 'mo ring',
-#      '^e' => 'me',
-       '^e' => 'pm',
-       '^f' => 'pm',
-       '+f' => 'pm',
-       '^g' => 'mv',
+       '^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' => 'mo',
-       '^+h'=> 'mo ring', #TODO
-       '^i' => 'mi',
+       '^h' => 'g7',
+       '^+h'=> 'g7 ring', #TODO
+       '^i' => 'g6',
        '^+i'=> '=^v^i',
        '^j' => '=^m',
-       '^+j'=> 'me', #TODO: mode^+j
-       '^k' => 'mo ring',
-       '^l' => 'ci',
-       '+l' => 'mi',
-       '^m' => 'co',
+       '^+j'=> 'g9', #TODO: mode^+j
+       '^k' => 'g7 ring',
+       '^l' => 'g1',
+       '+l' => 'g6',
+       '^m' => 'g4',
        '^+m'=> '=^+j',
-       '^n' => 'co',
-       '+n' => 'co',
-       '^o' => 'co ext',
-       '^p' => 'co',
-       '+p' => 'co',
+       '^n' => 'g4',
+       '+n' => 'g4',
+       '^o' => 'g4 ext',
+       '^p' => 'g4',
+       '+p' => 'g4',
        '^q' => '=^v',
-       '^r' => 'co',
-       '+r' => 'co',
+       '^r' => 'g4',
+       '+r' => 'g4',
        '^+r'=> '=+r',
-       '^s' => 'co',
-       '^t' => 'mi',
-       '+t' => 'mi',
-       '^u' => 'mo ring',
-       '+u' => 'mi',
-       '^v' => 'mv',
-       '^w' => 'mo ring',
-       '^x' => 'me arg mode^x',
-       '^y' => 'co',
-       '+y' => 'co ring',
+       '^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' => 'mv ext',
+       '^z' => 'g8 ext',
 },
 
 '^x' => {
        lead => "x̂",
 
-       "\e" => 'mv mode',
+       "\e" => 'g8 mode',
 
-       '('  => 'mv',
-       ')'  => 'mv',
-       'e'  => 'mv',
-       '^e' => 'mi ext linkvi',
+       '('  => 'g8',
+       ')'  => 'g8',
+       'e'  => 'g8',
+       '^e' => 'g6 ext linkvi',
        '^g' => '=^g',
        '^h' => '=^u',
-       '^r' => 'mv',
+       '^r' => 'g8',
        '^u' => '=^_',
-       '^x' => 'pm new', # not in v2.0
-       '^v' => 'ci ext',
+       '^x' => 'g2 new', # not in v2.0
+       '^v' => 'g1 ext',
        '^?' => '=^x^h',
 },
 
index 0118daa..e8e37e2 100644 (file)
@@ -32,7 +32,7 @@ $keys->print_rows($get{rows} || '^x=213', [4,3,2]);
 
 <div class="help">
        <div class="left">
-<: $keys->print_legend('legend-types', [qw( ci pm co mi mo mv me )]) :>
+<: $keys->print_legend('legend-types', ['g1', 'g2', 'g4', 'g6' .. 'g9']) :>
        </div>
 
        <div class="right">
diff --git a/red.css b/red.css
index c816855..fc8d97c 100644 (file)
--- a/red.css
+++ b/red.css
@@ -46,36 +46,36 @@ dl.legend dt,
 }
 
 .no, dl.legend-options dt,
-.ci, .pm, .po, .co {background: none}
-#mutt .co,
-.mi, .cp           {background: #300}
-.mo, .mv, .me      {background: #600}
-#mutt .pm b, #mutt dt.pm,
-#mutt .mv b, #mutt dt.mv,
-dt.co,
-  .co b            {color: inherit}
-#vimperator .mi b, #vimperator dt.mi,
-dt.po,
-  .po b            {color: #6CD}
-#mutt .ci b, #mutt dt.ci,
-#mutt .mi b, #mutt dt.mi,
-#mutt .me b, #mutt dt.me,
-dt.pm, dt.mv,
-  .pm b, .mv b     {color: #DD6}
+.g1, .g2, .g3, .g4 {background: none}
+#mutt .g4,
+.g6, .g5           {background: #300}
+.g7, .g8, .g9      {background: #600}
+#mutt .g2 b, #mutt dt.g2,
+#mutt .g8 b, #mutt dt.g8,
+dt.g4,
+  .g4 b            {color: inherit}
+#vimperator .g6 b, #vimperator dt.g6,
+dt.g3,
+  .g3 b            {color: #6CD}
+#mutt .g1 b, #mutt dt.g1,
+#mutt .g6 b, #mutt dt.g6,
+#mutt .g9 b, #mutt dt.g9,
+dt.g2, dt.g8,
+  .g2 b, .g8 b     {color: #DD6}
 .no b              {color: #000}
-.ci, .mv, .me      {font-style: italic}
-#mutt .ci, #mutt .me,
+.g1, .g8, .g9      {font-style: italic}
+#mutt .g1, #mutt .g9,
 .no                {font-style: normal}
 
-.ci a:hover, .ci[onclick]:hover,
-.pm a:hover, .pm[onclick]:hover,
-.po a:hover, .po[onclick]:hover,
-.co a:hover, .co[onclick]:hover,
-.cp a:hover, .cp[onclick]:hover,
-.mi a:hover, .mi[onclick]:hover,
-.mo a:hover, .mo[onclick]:hover,
-.mv a:hover, .mv[onclick]:hover,
-.me a:hover, .me[onclick]:hover {
+.g1 a:hover, .g1[onclick]:hover,
+.g2 a:hover, .g2[onclick]:hover,
+.g3 a:hover, .g3[onclick]:hover,
+.g4 a:hover, .g4[onclick]:hover,
+.g5 a:hover, .g5[onclick]:hover,
+.g6 a:hover, .g6[onclick]:hover,
+.g7 a:hover, .g7[onclick]:hover,
+.g8 a:hover, .g8[onclick]:hover,
+.g9 a:hover, .g9[onclick]:hover {
        background: #800;
        color: #FF0;
 } /* mode link */
index 7a0e4a3..a4adb93 100644 (file)
@@ -462,14 +462,14 @@ mode => {
 },
 
 flag => {
-       ci => ["info", "Info command: shows/does something without altering anything."],
-       pm => ["motion", "Moves the cursor, or defines the range for an operator (<motion>)."],
-       po => ["positioning", "Other movement (jumps, window (re)positioning)."],
-       co => ["command", "Direct action command."],
-       mi => ["ins mode", "Enters Insert or Replace mode."],
-       mo => ["mode", "Enters a different mode."],
-       mv => ["vis mode", "Enters Visual or Select mode."],
-       me => ["key cmd", "Additional key commands (click for overview)."],
+       g1 => ["info", "Info command: shows/does something without altering anything."],
+       g2 => ["motion", "Moves the cursor, or defines the range for an operator (<motion>)."],
+       g3 => ["positioning", "Other movement (jumps, window (re)positioning)."],
+       g4 => ["command", "Direct action command."],
+       g6 => ["ins mode", "Enters Insert or Replace mode."],
+       g7 => ["mode", "Enters a different mode."],
+       g8 => ["vis mode", "Enters Visual or Select mode."],
+       g9 => ["key cmd", "Additional key commands (click for overview)."],
 
        arg => ["key<arg>", "Commands with a dot need a char argument afterwards."],
        motion => ["key<motion>", "Requires a motion afterwards, operates between cursor and destination."],
index 4fd9527..6b6d225 100644 (file)
--- a/vi.inc.pl
+++ b/vi.inc.pl
@@ -2,421 +2,421 @@ use utf8;
 {
 
 '' => {
-       '~' => "co undo",
-       '!' => "co argm undo modec",
-       '@' => "co arg undo",
-       '#' => "pm ext vim6",
-       '$' => "pm",
-       '%' => "pm",
-       '^' => "pm",
-       '&' => "co undo",
-       '*' => "pm ext vim6",
-       '(' => 'pm',
-       ')' => 'pm',
-       '_' => "pm",
-       '+' => "pm",
-       '`' => "pm arg",
-       '0' => "pm",
-       '^^'=> "co",
-       '-' => "pm",
-       '=' => 'co argm undo',
-       '?' => "pm arg modec",
-       ';' => "pm",
-       ':' => "co modec",
-       "'" => "pm arg",
-       '"' => 'co arg',
-       '\\' => 'me arg',
-       '^\\' => "mo arg",
-       ',' => "pm",
-       '<' => "co argm undo",
-       '.' => "co undo",
-       '>' => "co argm undo",
-       '/' => "pm arg modec",
-       '[' => "me arg mode[",
-       '{' => "pm",
-       ']' => "me arg mode]",
-       '}' => "pm",
-       '^]'=> "po",
-       '|' => "pm",
-
-       'a' => "mi undo modei",
-       'A' => "mi undo modei",
-       '^a'=> "co undo",
-       'b' => "pm",
-       'B' => "pm",
-       '^b'=> "pm",
-       'c' => "mi argm undo modei",
-       'C' => "mi undo modei",
-       '^c'=> "co",
-       'd' => "co argm undo",
-       'D' => "co undo",
-       '^d'=> "po",
-       'e' => "pm",
-       'E' => "pm",
-       '^e'=> "po",
-       'f' => "pm arg",
-       'F' => "pm arg",
-       '^f'=> "pm",
-       'g' => "me arg modeg",
-       'G' => "pm",
-       '^g'=> "ci",
-       'h' => "pm",
-       'H' => "pm",
+       '~' => "g4 undo",
+       '!' => "g4 argm undo modec",
+       '@' => "g4 arg undo",
+       '#' => "g2 ext vim6",
+       '$' => "g2",
+       '%' => "g2",
+       '^' => "g2",
+       '&' => "g4 undo",
+       '*' => "g2 ext vim6",
+       '(' => 'g2',
+       ')' => 'g2',
+       '_' => "g2",
+       '+' => "g2",
+       '`' => "g2 arg",
+       '0' => "g2",
+       '^^'=> "g4",
+       '-' => "g2",
+       '=' => 'g4 argm undo',
+       '?' => "g2 arg modec",
+       ';' => "g2",
+       ':' => "g4 modec",
+       "'" => "g2 arg",
+       '"' => 'g4 arg',
+       '\\' => 'g9 arg',
+       '^\\' => "g7 arg",
+       ',' => "g2",
+       '<' => "g4 argm undo",
+       '.' => "g4 undo",
+       '>' => "g4 argm undo",
+       '/' => "g2 arg modec",
+       '[' => "g9 arg mode[",
+       '{' => "g2",
+       ']' => "g9 arg mode]",
+       '}' => "g2",
+       '^]'=> "g3",
+       '|' => "g2",
+
+       'a' => "g6 undo modei",
+       'A' => "g6 undo modei",
+       '^a'=> "g4 undo",
+       'b' => "g2",
+       'B' => "g2",
+       '^b'=> "g2",
+       'c' => "g6 argm undo modei",
+       'C' => "g6 undo modei",
+       '^c'=> "g4",
+       'd' => "g4 argm undo",
+       'D' => "g4 undo",
+       '^d'=> "g3",
+       'e' => "g2",
+       'E' => "g2",
+       '^e'=> "g3",
+       'f' => "g2 arg",
+       'F' => "g2 arg",
+       '^f'=> "g2",
+       'g' => "g9 arg modeg",
+       'G' => "g2",
+       '^g'=> "g1",
+       'h' => "g2",
+       'H' => "g2",
        '^h'=> "=h",
-       'i' => "mi undo modei",
-       'I' => "mi undo modei",
-       '^i'=> "pm ext vim6",
-       'j' => "pm",
-       'J' => "co undo",
+       'i' => "g6 undo modei",
+       'I' => "g6 undo modei",
+       '^i'=> "g2 ext vim6",
+       'j' => "g2",
+       'J' => "g4 undo",
        '^j'=> "=j",
-       'k' => "pm",
-       'K' => "co",
-       'l' => "pm",
-       'L' => "pm",
-       '^l'=> "ci",
-       'm' => "co arg",
-       'M' => "pm",
+       'k' => "g2",
+       'K' => "g4",
+       'l' => "g2",
+       'L' => "g2",
+       '^l'=> "g1",
+       'm' => "g4 arg",
+       'M' => "g2",
        '^m'=> "=+",
-       'n' => "pm",
-       'N' => "pm",
+       'n' => "g2",
+       'N' => "g2",
        '^n'=> "=j",
-       'o' => "mi undo modei",
-       'O' => "mi undo modei",
-       '^o'=> "pm ext vim6",
-       'p' => "co undo",
-       'P' => "co undo",
+       'o' => "g6 undo modei",
+       'O' => "g6 undo modei",
+       '^o'=> "g2 ext vim6",
+       'p' => "g4 undo",
+       'P' => "g4 undo",
        '^p'=> "=k",
-       'q' => "mo arg",
-       'Q' => "mo",
-       '^q'=> "ci", # or ^v
-       'r' => "co arg undo",
-       'R' => "mi undo modei",
-       '^r'=> "co undo ext vim6",
-       's' => "mi undo modei",
-       'S' => "mi undo modei",
-       '^s'=> "ci",
-       't' => "pm arg",
-       'T' => "pm",
-       '^t'=> "po",
-       'u' => "co undo",
-       'U' => "co undo",
-       '^u'=> "po",
-       'v' => "mv modev",
-       'V' => "mv modev",
-       '^v'=> "mv modev ext vim6",
-       'w' => "pm",
-       'W' => "pm",
-       '^w'=> "me arg mode^w",
-       'x' => "co undo",
-       'X' => "co undo",
-       '^x'=> "co undo",
-       'y' => "co argm",
-       'Y' => "co",
-       '^y'=> "po",
-       'z' => "me arg modez",
-       'Z' => "me arg modeZ",
-       '^z'=> "ci",
+       'q' => "g7 arg",
+       'Q' => "g7",
+       '^q'=> "g1", # or ^v
+       'r' => "g4 arg undo",
+       'R' => "g6 undo modei",
+       '^r'=> "g4 undo ext vim6",
+       's' => "g6 undo modei",
+       'S' => "g6 undo modei",
+       '^s'=> "g1",
+       't' => "g2 arg",
+       'T' => "g2",
+       '^t'=> "g3",
+       'u' => "g4 undo",
+       'U' => "g4 undo",
+       '^u'=> "g3",
+       'v' => "g8 modev",
+       'V' => "g8 modev",
+       '^v'=> "g8 modev ext vim6",
+       'w' => "g2",
+       'W' => "g2",
+       '^w'=> "g9 arg mode^w",
+       'x' => "g4 undo",
+       'X' => "g4 undo",
+       '^x'=> "g4 undo",
+       'y' => "g4 argm",
+       'Y' => "g4",
+       '^y'=> "g3",
+       'z' => "g9 arg modez",
+       'Z' => "g9 arg modeZ",
+       '^z'=> "g1",
 }, # normal mode
 
 g => {
        lead => "g",
 
-       "\e"=> "mo mode",
-
-       '~' => "co argm ext vim6",
-       '@' => "co ext vim7 new",
-       '#' => "pm ext vim6",
-       '$' => "pm",
-       '^' => "pm ext vim6",
-       '&' => "co",
-       '*' => "pm ext vim6",
-       '_' => "pm ext vim6",
-       '+' => "co ext vim7 new",
-       '`' => "pm ext vim6 arg",
-       '8' => "ci",
-       '0' => "pm ext vim6",
-       '-' => "co ext vim7 new",
-       '^['=> "mo mode",
-       ']' => "po",
-       '^]'=> "po",
-       ';' => "pm",
-       "'" => "pm ext vim6 arg",
-       '<' => "co ext vim7 new",
-       '?' => "co argm ext vim6",
-       ',' => "pm",
-
-       'a' => "ci",
-       '^a'=> "ci",
-       'd' => "pm ext vim6",
-       'D' => "pm ext vim6",
-       'e' => "pm",
-       'E' => "pm",
-       'f' => "co ext vim6",
-       'F' => "co ext vim7 new",
-       'g' => "pm",
-       '^g'=> "ci",
-       'h' => "mv modev",
-       'H' => "mv modev",
-       '^h'=> "mv modev ext vim6",
-       'i' => "mi undo modei",
-       'I' => "mi undo modei",
-       'j' => "pm ext vim6",
-       'J' => "co",
-       'k' => "pm ext vim6",
-       'm' => "pm ext vim6",
-       'o' => "pm",
-       'p' => "co undo",
-       'P' => "co",
-       'q' => "co argm",
-       'Q' => "mo ext vim6",
-       'r' => "co arg",
-       'R' => "mi undo modei",
-       's' => "ci ext vim6",
-       't' => "po ext vim7 new",
-       'T' => "po ext vim7 new",
-       'u' => "co argm ext vim6", # XXX undo?
-       'U' => "co undo argm ext vim6",
-       'v' => 'mv modev',
-       'V' => "co",
-       'w' => "co argm ext vim7 new",
-       'x' => "co ext vim7 new",
+       "\e"=> "g7 mode",
+
+       '~' => "g4 argm ext vim6",
+       '@' => "g4 ext vim7 new",
+       '#' => "g2 ext vim6",
+       '$' => "g2",
+       '^' => "g2 ext vim6",
+       '&' => "g4",
+       '*' => "g2 ext vim6",
+       '_' => "g2 ext vim6",
+       '+' => "g4 ext vim7 new",
+       '`' => "g2 ext vim6 arg",
+       '8' => "g1",
+       '0' => "g2 ext vim6",
+       '-' => "g4 ext vim7 new",
+       '^['=> "g7 mode",
+       ']' => "g3",
+       '^]'=> "g3",
+       ';' => "g2",
+       "'" => "g2 ext vim6 arg",
+       '<' => "g4 ext vim7 new",
+       '?' => "g4 argm ext vim6",
+       ',' => "g2",
+
+       'a' => "g1",
+       '^a'=> "g1",
+       'd' => "g2 ext vim6",
+       'D' => "g2 ext vim6",
+       'e' => "g2",
+       'E' => "g2",
+       'f' => "g4 ext vim6",
+       'F' => "g4 ext vim7 new",
+       'g' => "g2",
+       '^g'=> "g1",
+       'h' => "g8 modev",
+       'H' => "g8 modev",
+       '^h'=> "g8 modev ext vim6",
+       'i' => "g6 undo modei",
+       'I' => "g6 undo modei",
+       'j' => "g2 ext vim6",
+       'J' => "g4",
+       'k' => "g2 ext vim6",
+       'm' => "g2 ext vim6",
+       'o' => "g2",
+       'p' => "g4 undo",
+       'P' => "g4",
+       'q' => "g4 argm",
+       'Q' => "g7 ext vim6",
+       'r' => "g4 arg",
+       'R' => "g6 undo modei",
+       's' => "g1 ext vim6",
+       't' => "g3 ext vim7 new",
+       'T' => "g3 ext vim7 new",
+       'u' => "g4 argm ext vim6", # XXX undo?
+       'U' => "g4 undo argm ext vim6",
+       'v' => 'g8 modev',
+       'V' => "g4",
+       'w' => "g4 argm ext vim7 new",
+       'x' => "g4 ext vim7 new",
 }, # mode g
 
 Z => {
        lead => "Z",
 
-       "\e"=> "mo mode",
+       "\e"=> "g7 mode",
        '^['=> "=\e",
 
-       'Q' => "co ext vim6",
-       'Z' => "co",
+       'Q' => "g4 ext vim6",
+       'Z' => "g4",
 }, # mode Z
 
 z => {
        lead => "z",
 
-       "\e"=> "mo mode",
+       "\e"=> "g7 mode",
 
-       '^' => "po",
-       '+' => "po",
-       '-' => "po",
-       '=' => "co ext vim7 new",
-       '.' => "po",
+       '^' => "g3",
+       '+' => "g3",
+       '-' => "g3",
+       '=' => "g4 ext vim7 new",
+       '.' => "g3",
        '^['=> "=\e",
 
-       'a' => "co ext vim6 folding",
-       'A' => "co ext vim6 folding",
-       'b' => "po",
-       'c' => "co ext vim6 folding",
-       'C' => "co ext vim6 folding",
-       'd' => "co ext vim6 folding",
-       'D' => "co ext vim6 folding",
-       'e' => "po",
-       'E' => "co ext vim6 folding",
-       'f' => "co argm ext vim6 folding",
-       'F' => "co ext vim6 folding",
-       'g' => "co ext vim7 new",
-       'G' => "co ext vim7 new",
-       'h' => "po",
-       'H' => "po",
-       'i' => "co ext vim6 folding",
-       'j' => "pm ext vim6 folding",
-       'k' => "pm ext vim6 folding",
-       'l' => "po",
-       'L' => "po",
-       '^m'=> "po",
-       'm' => "co ext vim6 folding",
-       'M' => "co ext vim6 folding",
-       'n' => "co ext vim6 folding",
-       'N' => "co ext vim6 folding",
-       'o' => "co ext vim6 folding",
-       'O' => "co ext vim6 folding",
-       'r' => "co ext vim6 folding",
-       'R' => "co ext vim6 folding",
-       's' => "po",
-       't' => "po",
-       'u' => "co arg ext vim7 new",
-       'v' => "co ext vim6 folding",
-       'w' => "co ext vim7 new",
-       'W' => "co ext vim7 new",
-       'x' => "co ext vim6 folding",
-       'X' => "co ext vim6 folding",
-       'z' => "po",
+       'a' => "g4 ext vim6 folding",
+       'A' => "g4 ext vim6 folding",
+       'b' => "g3",
+       'c' => "g4 ext vim6 folding",
+       'C' => "g4 ext vim6 folding",
+       'd' => "g4 ext vim6 folding",
+       'D' => "g4 ext vim6 folding",
+       'e' => "g3",
+       'E' => "g4 ext vim6 folding",
+       'f' => "g4 argm ext vim6 folding",
+       'F' => "g4 ext vim6 folding",
+       'g' => "g4 ext vim7 new",
+       'G' => "g4 ext vim7 new",
+       'h' => "g3",
+       'H' => "g3",
+       'i' => "g4 ext vim6 folding",
+       'j' => "g2 ext vim6 folding",
+       'k' => "g2 ext vim6 folding",
+       'l' => "g3",
+       'L' => "g3",
+       '^m'=> "g3",
+       'm' => "g4 ext vim6 folding",
+       'M' => "g4 ext vim6 folding",
+       'n' => "g4 ext vim6 folding",
+       'N' => "g4 ext vim6 folding",
+       'o' => "g4 ext vim6 folding",
+       'O' => "g4 ext vim6 folding",
+       'r' => "g4 ext vim6 folding",
+       'R' => "g4 ext vim6 folding",
+       's' => "g3",
+       't' => "g3",
+       'u' => "g4 arg ext vim7 new",
+       'v' => "g4 ext vim6 folding",
+       'w' => "g4 ext vim7 new",
+       'W' => "g4 ext vim7 new",
+       'x' => "g4 ext vim6 folding",
+       'X' => "g4 ext vim6 folding",
+       'z' => "g3",
 }, # mode z
 
 '[' => {
        lead => "[",
 
-       "\e"=> "mo mode",
+       "\e"=> "g7 mode",
 
-       "`" => "pm ext vim6",
-       '#' => "pm",
-       '(' => "pm",
+       "`" => "g2 ext vim6",
+       '#' => "g2",
+       '(' => "g2",
        '*' => "=[/",
-       '/' => "pm",
+       '/' => "g2",
        "'" => "=[` ^", # ext vim6
-       '{' => "pm",
-       '[' => "pm",
+       '{' => "g2",
+       '[' => "g2",
        '^['=> "=\e",
-       ']' => "pm",
+       ']' => "g2",
 
-       'c' => "pm",
-       'd' => "ci",
-       'D' => "co",
-       '^d'=> "po",
+       'c' => "g2",
+       'd' => "g1",
+       'D' => "g4",
+       '^d'=> "g3",
        'f' => "=gf",  # deprecated
-       'i' => 'ci',
-       'I' => 'co',
-       '^i'=> 'po',
-       'm' => "pm",
-       'p' => "co",
-       'P' => "co",
-       's' => "po ext vim7 new",
-       'S' => "po ext vim7 new",
-       'z' => "pm ext vim6 folding",
+       'i' => 'g1',
+       'I' => 'g4',
+       '^i'=> 'g3',
+       'm' => "g2",
+       'p' => "g4",
+       'P' => "g4",
+       's' => "g3 ext vim7 new",
+       'S' => "g3 ext vim7 new",
+       'z' => "g2 ext vim6 folding",
 }, # mode [
 
 ']' => {
        lead => "]",
 
-       "\e"=> "mo mode",
+       "\e"=> "g7 mode",
 
-       "`" => "pm ext vim6",
-       '#' => "pm",
-       ')' => "pm",
+       "`" => "g2 ext vim6",
+       '#' => "g2",
+       ')' => "g2",
        '*' => "=]/",
        "'" => "=]` ^", # ext vim6
-       '/' => "pm",
-       '[' => "pm",
+       '/' => "g2",
+       '[' => "g2",
        '^['=> "=\e",
-       ']' => "pm",
-       '}' => "pm",
+       ']' => "g2",
+       '}' => "g2",
 
-       'c' => "pm",
-       'd' => "ci",
-       'D' => "co",
-       '^d'=> "po",
+       'c' => "g2",
+       'd' => "g1",
+       'D' => "g4",
+       '^d'=> "g3",
        'f' => "=gf",  # deprecated
-       'i' => "ci",
-       'I' => "co",
-       '^i'=> "po",
-       'm' => "pm",
-       'p' => "co",
+       'i' => "g1",
+       'I' => "g4",
+       '^i'=> "g3",
+       'm' => "g2",
+       'p' => "g4",
        'P' => "=[p",
-       's' => "po ext vim7 new",
-       'S' => "po ext vim7 new",
-       'z' => "pm ext vim6 folding",
+       's' => "g3 ext vim7 new",
+       'S' => "g3 ext vim7 new",
+       'z' => "g2 ext vim6 folding",
 }, # mode ]
 
 '^w' => {
        lead => "ŵ",
 
-       "\e"=> "mo mode",
+       "\e"=> "g7 mode",
 
-       '<' => "po",
-       '>' => "po",
-       '^' => "co",
-       '_' => "po",
-       '+' => "po",
-       '-' => "po",
-       '=' => "po",
+       '<' => "g3",
+       '>' => "g3",
+       '^' => "g4",
+       '_' => "g3",
+       '+' => "g3",
+       '-' => "g3",
+       '=' => "g3",
        '^['=> "=\e",
-       ']' => "po",
-       '}' => "po",
-       '|' => "po",
-
-       'b' => "po",
-       'c' => "po",
-       '^c'=> "mo mode",
-       'd' => "po",
-       'f' => "co",
-       'F' => "co ext vim7 new",
-       'g' => "me arg mode^wg",
-       'h' => "po",
-       'H' => "po",
-       'i' => "po",
-       'j' => "po",
-       'J' => "po",
-       'k' => "po",
-       'K' => "po",
-       'l' => "po",
-       'L' => "po",
-       'n' => "co",
-       'o' => "po",
-       'p' => "po",
-       'P' => "po",
-       'q' => "co",
-       'r' => "po",
-       'R' => "po",
-       's' => "po",
+       ']' => "g3",
+       '}' => "g3",
+       '|' => "g3",
+
+       'b' => "g3",
+       'c' => "g3",
+       '^c'=> "g7 mode",
+       'd' => "g3",
+       'f' => "g4",
+       'F' => "g4 ext vim7 new",
+       'g' => "g9 arg mode^wg",
+       'h' => "g3",
+       'H' => "g3",
+       'i' => "g3",
+       'j' => "g3",
+       'J' => "g3",
+       'k' => "g3",
+       'K' => "g3",
+       'l' => "g3",
+       'L' => "g3",
+       'n' => "g4",
+       'o' => "g3",
+       'p' => "g3",
+       'P' => "g3",
+       'q' => "g4",
+       'r' => "g3",
+       'R' => "g3",
+       's' => "g3",
        'S' => "=^ws",
-       't' => "po",
-       'v' => "po",
-       'w' => "po",
-       'W' => "po",
-       'x' => "po",
-       'z' => "po",
+       't' => "g3",
+       'v' => "g3",
+       'w' => "g3",
+       'W' => "g3",
+       'x' => "g3",
+       'z' => "g3",
 }, # mode ^w
 
 '^wg' => {
        lead => "ŵg",
 
-       "\e"=> "mo mode",
+       "\e"=> "g7 mode",
        '^['=> "=\e",
-       ']' => "po",
-       '}' => "po",
-       '^]'=> "po",
-       'f' => "co ext vim7 new",
-       'F' => "co ext vim7 new",
+       ']' => "g3",
+       '}' => "g3",
+       '^]'=> "g3",
+       'f' => "g4 ext vim7 new",
+       'F' => "g4 ext vim7 new",
 }, # mode ^w g
 
 v => {
-       "\e"=> "mo mode",
-
-       '!' => "co",
-       ':' => "mo modec",
-       '<' => "co",
-       '=' => 'co undo',
-       '>' => 'co',
-       '~' => "co ext vim6",
+       "\e"=> "g7 mode",
+
+       '!' => "g4",
+       ':' => "g7 modec",
+       '<' => "g4",
+       '=' => 'g4 undo',
+       '>' => 'g4',
+       '~' => "g4 ext vim6",
        '^['=> "=\e",
-       '^]'=> "po",
+       '^]'=> "g3",
        '^\\'=>'^\\',
 
-       'a' => 'me modeva arg ext vim6',
-       'A' => 'mi modei ext vim6',
-       'c' => 'mi modei ext vim6',
-       'C' => 'mi modei ext vim6',
-       '^c'=> "mo mode",
-       'd' => "co ext vim6",
-       'D' => "co ext vim6",
-       'g' => "me arg modevg",
-       '^g'=> "mv",
-       '^h'=> 'co',
-       'i' => "me modeva arg ext vim6",
-       'I' => "mi modei ext vim6", # block
-       'J' => "co",
-       'K' => 'co',
-       'o' => "pm",
-       'O' => "pm",
-       '^o'=> "mv",
-       'p' => 'co',
-       'P' => 'co',
+       'a' => 'g9 modeva arg ext vim6',
+       'A' => 'g6 modei ext vim6',
+       'c' => 'g6 modei ext vim6',
+       'C' => 'g6 modei ext vim6',
+       '^c'=> "g7 mode",
+       'd' => "g4 ext vim6",
+       'D' => "g4 ext vim6",
+       'g' => "g9 arg modevg",
+       '^g'=> "g8",
+       '^h'=> 'g4',
+       'i' => "g9 modeva arg ext vim6",
+       'I' => "g6 modei ext vim6", # block
+       'J' => "g4",
+       'K' => 'g4',
+       'o' => "g2",
+       'O' => "g2",
+       '^o'=> "g8",
+       'p' => 'g4',
+       'P' => 'g4',
        '^q'=> "=^q",
-       'r' => 'co arg',
+       'r' => 'g4 arg',
        'R' => "=vS",  # "might change in future"
        '^s'=> "=^s",
        's' => "=vc",
-       'S' => 'mi modei ext vim6',
-       'u' => "co ext vim6",
-       'U' => "co ext vim6",
-       'v' => "mv",
-       'V' => "mv",
-       '^v'=> "mv ext vim6",
+       'S' => 'g6 modei ext vim6',
+       'u' => "g4 ext vim6",
+       'U' => "g4 ext vim6",
+       'v' => "g8",
+       'V' => "g8",
+       '^v'=> "g8 ext vim6",
        'x' => "=vd",
        'X' => "=vD",
-       'y' => "co",
-       'Y' => "co",
+       'y' => "g4",
+       'Y' => "g4",
 
        map { $_ => "=$_" } qw(
                b B ^b ^d e E ^e f F ^f G h H ^i j ^j k l L m M ^m
@@ -428,39 +428,39 @@ v => {
 vg => {
        lead => "g",
 
-       "\e"=> "mv modev",
+       "\e"=> "g8 modev",
 
        '^['=> "=\e",
-       '?' => "co ext vim6",
-       'J' => 'co ext vim6',
-       'q' => "co ext vim6",
+       '?' => "g4 ext vim6",
+       'J' => 'g4 ext vim6',
+       'q' => "g4 ext vim6",
        'v' => "=gv",
-       'w' => 'co ext vim7 new',
+       'w' => 'g4 ext vim7 new',
 }, # mode v g
 
 va => {
-       "\e"=> "mv modev",
+       "\e"=> "g8 modev",
 
        '(' => "=vab",
        ')' => "=vab",
        '`' => "=va'",
-       "'" => 'pm ext vim7 new',
+       "'" => 'g2 ext vim7 new',
        '"' => "=va'",
-       '<' => 'pm ext vim6',
+       '<' => 'g2 ext vim6',
        '>' => "=va&lt;",
-       '[' => 'pm ext vim6',
+       '[' => 'g2 ext vim6',
        '{' => "=vaB",
        '^['=> "=\e",
        ']' => "=va[",
        '}' => "=vaB",
 
-       'b' => 'pm ext vim6',
-       'B' => 'pm ext vim6',
-       'p' => 'pm ext vim6',
-       's' => 'pm ext vim6',
-       't' => 'pm ext vim7 new',
-       'w' => 'pm ext vim6',
-       'W' => 'pm ext vim6',
+       'b' => 'g2 ext vim6',
+       'B' => 'g2 ext vim6',
+       'p' => 'g2 ext vim6',
+       's' => 'g2 ext vim6',
+       't' => 'g2 ext vim7 new',
+       'w' => 'g2 ext vim6',
+       'W' => 'g2 ext vim6',
 }, # mode v a
 
 #c => {
@@ -470,96 +470,96 @@ va => {
 #      '^^' => "=i^^",
 #      '^\\'=>'^\\',
 #      '^a' => "", #todo
-#      '^b' => "po",
+#      '^b' => "g3",
 #      '^c' => "=i^c",
 #      '^d' => "", #todo
-#      '^e' => "po",
+#      '^e' => "g3",
 #      '^h' => "=i^h",
-#      '^j' => "co",
+#      '^j' => "g4",
 #      '^k' => "=i^k",
 #      '^l' => "", #todo
 #      '^n' => "", #todo
 #      '^p' => "", #todo
 #      '^r' => "=i^r", # and then some...
-#           ## ["co arg ext vim6"],
+#           ## ["g4 arg ext vim6"],
 #      '^q' => "=^q",
 #      '^u' => "=i^u",
 #      '^v' => "=i^v",
 #      '^w' => "=i^w",
-#      '^y' => "co",
+#      '^y' => "g4",
 #}, # mode c
 
 i => {
-       "\e" => "mo mode",
+       "\e" => "g7 mode",
 
-       '^@' => "co",
-       '^^' => "co ext vim6",
+       '^@' => "g4",
+       '^^' => "g4 ext vim6",
        '^['=> "=\e",
-       '^]' => "co ext vim6",
-       '^_' => "co ext vim6",
+       '^]' => "g4 ext vim6",
+       '^_' => "g4 ext vim6",
        '^\\'=>'^\\',
 
-       '^a' => "co ext vim6",
+       '^a' => "g4 ext vim6",
        '^b' => "no ext vim6",
-       '^c' => "mo mode",
-       '^d' => 'co',
-       '^e' => "co ext vim6",
-       '^f' => 'co',
-       '^g' => "me modei^g arg",
-       '^h' => "co",
-       '^i' => "co",
-       '^j' => "co",
-       '^k' => 'co arg arg ext vim6 linkdigraphs',
-       '^l' => "mo mode ext vim6",  # insertmode only
-       '^m' => "co",
-       '^n' => "pm ext vim6",
-       '^o' => 'co',
-       '^p' => "pm ext vim6",
+       '^c' => "g7 mode",
+       '^d' => 'g4',
+       '^e' => "g4 ext vim6",
+       '^f' => 'g4',
+       '^g' => "g9 modei^g arg",
+       '^h' => "g4",
+       '^i' => "g4",
+       '^j' => "g4",
+       '^k' => 'g4 arg arg ext vim6 linkdigraphs',
+       '^l' => "g7 mode ext vim6",  # insertmode only
+       '^m' => "g4",
+       '^n' => "g2 ext vim6",
+       '^o' => 'g4',
+       '^p' => "g2 ext vim6",
        '^q' => "=^q",  # or i^v
-       '^r' => 'co arg ext vim6',
+       '^r' => 'g4 arg ext vim6',
        '^s' => "=^s",
-       '^t' => "co",
-       '^u' => "co",
-       '^v' => 'co linkcharset',
-       '^w' => "co",
-       '^x' => 'me arg modei^x ext vim6',
-       '^y' => "co ext vim6",
-       '^z' => "ci ext vim6",  # insertmode only
+       '^t' => "g4",
+       '^u' => "g4",
+       '^v' => 'g4 linkcharset',
+       '^w' => "g4",
+       '^x' => 'g9 arg modei^x ext vim6',
+       '^y' => "g4 ext vim6",
+       '^z' => "g1 ext vim6",  # insertmode only
 }, # modei
 
 'i^g' => {
        lead => "ĝ",
 
-       "\e"=> 'mi modei',
+       "\e"=> 'g6 modei',
 
-       'k' => 'pm',
-       'j' => 'pm',
-       'u' => 'co',
+       'k' => 'g2',
+       'j' => 'g2',
+       'u' => 'g4',
        # other keys (even esc) are not recognized
 }, # mode i ^g
 
 'i^x' => {
        lead => "x̂",
 
-       "\e" => "mo mode", # yes, it really leaves insert mode
+       "\e" => "g7 mode", # yes, it really leaves insert mode
 
        '^['=> "=\e",
-       '^]' => 'co',
-       '^d' => 'co',
-       '^e' => "po",
-       '^f' => 'co',
-       '^i' => 'co',
-       '^k' => 'co',
-       '^l' => 'co',
-       '^n' => 'co',
-       '^o' => 'co ext vim7 new',
-       '^p' => 'co',
-       '^s' => 'co',
+       '^]' => 'g4',
+       '^d' => 'g4',
+       '^e' => "g3",
+       '^f' => 'g4',
+       '^i' => 'g4',
+       '^k' => 'g4',
+       '^l' => 'g4',
+       '^n' => 'g4',
+       '^o' => 'g4 ext vim7 new',
+       '^p' => 'g4',
+       '^s' => 'g4',
         's' => "=i^x^s",
-       '^t' => 'co',
-       '^u' => 'co ext vim7 new',
-       '^v' => 'co',
-       '^y' => "po",
+       '^t' => 'g4',
+       '^u' => 'g4 ext vim7 new',
+       '^v' => 'g4',
+       '^y' => "g3",
 }, # mode i ^x
 
 # XXX ex mode if you want to go completely wild
diff --git a/vi.plp b/vi.plp
index 5106fee..f72af74 100644 (file)
--- a/vi.plp
+++ b/vi.plp
@@ -33,7 +33,7 @@ $keys->print_rows($get{rows});
 <div class="help">
        <div class="left">
 <:
-               $keys->print_legend('legend-types', [qw'ci pm po co mi mo mv me']);
+               $keys->print_legend('legend-types', ['g1' .. 'g4', 'g6' .. 'g9']);
 :>
        </div>
 
index 9ca14cc..e1630b5 100644 (file)
@@ -137,15 +137,15 @@ mode => {
 },
 
 flag => {
-       ci => ['info'     => "Displays something without any permanent consequences."],
-       pm => ['motion'   => "Move cursor, scroll window, focus buffer element."],
-       po => ['tab'      => "Tab or window navigation/selection."],
-       co => ['buffer'   => "Page interaction."],
-       cp => ['open'     => "Browse to a location in the current tab."],
-       mi => ['tab open' => "Browse somewhere in a new tab."],
-       mo => ['browser'  => "Other browser action."],
-       mv => ['mode'     => "Enter a different mode."],
-       me => ['key cmd'  => "Additional key commands (click for overview)."],
+       g1 => ['info'     => "Displays something without any permanent consequences."],
+       g2 => ['motion'   => "Move cursor, scroll window, focus buffer element."],
+       g3 => ['tab'      => "Tab or window navigation/selection."],
+       g4 => ['buffer'   => "Page interaction."],
+       g5 => ['open'     => "Browse to a location in the current tab."],
+       g6 => ['tab open' => "Browse somewhere in a new tab."],
+       g7 => ['browser'  => "Other browser action."],
+       g8 => ['mode'     => "Enter a different mode."],
+       g9 => ['key cmd'  => "Additional key commands (click for overview)."],
 
        arg  => ["key<arg>"  => "Commands with a dot need a char argument afterwards."],
        args => ["key<args>" => "Commands with two dots require variable arguments afterwards."],
index 6ece38c..ae80cf5 100644 (file)
@@ -2,162 +2,162 @@ use utf8;
 {
 
 '' => {
-       '~' => 'cp',
-       '@' => 'mo arg',
-       '^' => 'pm',
+       '~' => 'g5',
+       '@' => 'g7 arg',
+       '^' => 'g2',
        '0' => '=^',
-       '$' => 'pm',
-       '#' => 'pm',
-       '*' => 'pm',
+       '$' => 'g2',
+       '#' => 'g2',
+       '*' => 'g2',
        '+' => '=zi',
        '-' => '=zo',
-       '^^'=> 'po',
-       '?' => 'pm args modec',
-       '/' => 'pm args modec',
-       '[' => 'me arg mode[',
-       ']' => 'me arg mode]',
-       ':' => 'mo args',
-       ';' => 'me arg args mode;',
-       "'" => 'pm',
+       '^^'=> 'g3',
+       '?' => 'g2 args modec',
+       '/' => 'g2 args modec',
+       '[' => 'g9 arg mode[',
+       ']' => 'g9 arg mode]',
+       ':' => 'g7 args',
+       ';' => 'g9 arg args mode;',
+       "'" => 'g2',
        '`' => "='",
-       '|' => 'cp v2 v2.2',
-
-       'a' => 'mo args',
-       'A' => 'mo',
-       '^a'=> 'cp',
-       'b' => 'po args',
-       'B' => 'ci',
-       '^b'=> 'pm',
-       '^c'=> 'co',
-       '^d'=> 'pm',
-       'd' => 'co',
-       'D' => 'co',
-       'i' => 'mv',
+       '|' => 'g5 v2 v2.2',
+
+       'a' => 'g7 args',
+       'A' => 'g7',
+       '^a'=> 'g5',
+       'b' => 'g3 args',
+       'B' => 'g1',
+       '^b'=> 'g2',
+       '^c'=> 'g4',
+       '^d'=> 'g2',
+       'd' => 'g4',
+       'D' => 'g4',
+       'i' => 'g8',
        '^i'=> '=L',
        '^e'=> '=j',
-       'f' => 'cp args',
-       'F' => 'mi args',
-       '^f'=> 'pm', # spacebar
-       'g' => 'me modeg arg',
-       'G' => 'pm',
-       '^g'=> 'ci',
-       'h' => 'pm',
-       'H' => 'cp',
-       'j' => 'pm',
-       'k' => 'pm',
-       'l' => 'pm',
-       'L' => 'cp',
-       'M' => 'mo arg',
-       'm' => 'mo arg',
-       'n' => 'pm',
-       'N' => 'pm',
-       '^n'=> 'po',
-       'o' => 'cp',
-       'O' => 'cp',
+       'f' => 'g5 args',
+       'F' => 'g6 args',
+       '^f'=> 'g2', # spacebar
+       'g' => 'g9 modeg arg',
+       'G' => 'g2',
+       '^g'=> 'g1',
+       'h' => 'g2',
+       'H' => 'g5',
+       'j' => 'g2',
+       'k' => 'g2',
+       'l' => 'g2',
+       'L' => 'g5',
+       'M' => 'g7 arg',
+       'm' => 'g7 arg',
+       'n' => 'g2',
+       'N' => 'g2',
+       '^n'=> 'g3',
+       'o' => 'g5',
+       'O' => 'g5',
        '^o'=> '=H',
-       'p' => 'cp',
-       'P' => 'mi',
+       'p' => 'g5',
+       'P' => 'g6',
        '^p'=> '=gT',
-       'q' => 'mv arg',
-       'r' => 'co',
-       'R' => 'cp',
-       't' => 'mi',
-       'T' => 'mi',
-       '^v'=> 'co arg',
-       '^u'=> 'pm',
-       'u' => 'mi',
-       '^x'=> 'cp',
-       'y' => 'mo',
-       'Y' => 'mo',
+       'q' => 'g8 arg',
+       'r' => 'g4',
+       'R' => 'g5',
+       't' => 'g6',
+       'T' => 'g6',
+       '^v'=> 'g4 arg',
+       '^u'=> 'g2',
+       'u' => 'g6',
+       '^x'=> 'g5',
+       'y' => 'g7',
+       'Y' => 'g7',
        '^y'=> '=k',
-       'z' => 'ci modez arg',
-       'Z' => 'me modeZ arg',
-       '^z'=> 'mv',
+       'z' => 'g1 modez arg',
+       'Z' => 'g9 modeZ arg',
+       '^z'=> 'g8',
 }, # normal mode
 
 g => {
        lead => 'g',
 
-       '0' => 'po',
-       '$' => 'po',
+       '0' => 'g3',
+       '$' => 'g3',
        '^' => '=g0',
 
-       'b' => 'po',
-       'B' => 'po',
-       'f' => 'cp',
-       'F' => 'mo',
-       '^g'=> 'ci',
-       'g' => 'pm',
-       'h' => 'cp',
-       'H' => 'mi',
-       'i' => 'pm',
-       'n' => 'mi arg',
-       'o' => 'cp arg',
-       'P' => 'mi',
-       't' => 'po',
-       'T' => 'po',
-       'u' => 'cp',
-       'U' => 'cp',
+       'b' => 'g3',
+       'B' => 'g3',
+       'f' => 'g5',
+       'F' => 'g7',
+       '^g'=> 'g1',
+       'g' => 'g2',
+       'h' => 'g5',
+       'H' => 'g6',
+       'i' => 'g2',
+       'n' => 'g6 arg',
+       'o' => 'g5 arg',
+       'P' => 'g6',
+       't' => 'g3',
+       'T' => 'g3',
+       'u' => 'g5',
+       'U' => 'g5',
 }, # mode g
 
 ';' => {
        lead => ';',
 
-       ';' => 'pm',
-       '?' => 'ci',
-       'a' => 'mo args',
-       'b' => 'mi v2',
+       ';' => 'g2',
+       '?' => 'g1',
+       'a' => 'g7 args',
+       'b' => 'g6 v2',
        'c' => 'v2 v2.2',
-       'f' => 'pm v2', # previously ';o'
-       'F' => 'mi v2', # previously ';t'
-       'i' => 'cp v2 v2.2',
-       'I' => 'mi v2 v2.2',
-       'o' => 'cp',
-       'O' => 'cp args',
-       's' => 'mo',
-       't' => 'mi',
-       'T' => 'mi args',
-       'v' => 'cp',
-       'w' => 'mi',
-       'W' => 'mi args',
-       'y' => 'mo',
-       'Y' => 'mo',
+       'f' => 'g2 v2', # previously ';o'
+       'F' => 'g6 v2', # previously ';t'
+       'i' => 'g5 v2 v2.2',
+       'I' => 'g6 v2 v2.2',
+       'o' => 'g5',
+       'O' => 'g5 args',
+       's' => 'g7',
+       't' => 'g6',
+       'T' => 'g6 args',
+       'v' => 'g5',
+       'w' => 'g6',
+       'W' => 'g6 args',
+       'y' => 'g7',
+       'Y' => 'g7',
 }, # mode ;
 
 ']' => {
        lead => ']',
 
-       'f' => 'pm',
-       ']' => 'cp',
+       'f' => 'g2',
+       ']' => 'g5',
 }, # mode ]
 
 '[' => {
        lead => '[',
 
-       'f' => 'pm',
-       '[' => 'cp',
+       'f' => 'g2',
+       '[' => 'g5',
 }, # mode [
 
 z => {
        lead => 'z',
 
-       'i' => 'ci',
-       'm' => 'ci',
-       'o' => 'ci',
-       'r' => 'ci',
-       'z' => 'ci',
-       'I' => 'ci',
-       'M' => 'ci',
-       'O' => 'ci',
-       'R' => 'ci',
-       'Z' => 'ci',
+       'i' => 'g1',
+       'm' => 'g1',
+       'o' => 'g1',
+       'r' => 'g1',
+       'z' => 'g1',
+       'I' => 'g1',
+       'M' => 'g1',
+       'O' => 'g1',
+       'R' => 'g1',
+       'Z' => 'g1',
 }, # mode z
 
 Z => {
        lead => 'Z',
 
-       'Q' => 'mo',
-       'Z' => 'mo',
+       'Q' => 'g7',
+       'Z' => 'g7',
 }, # mode Z
 
 }
index 7d1b81c..1e90592 100644 (file)
@@ -35,7 +35,7 @@ $keys->print_rows($get{rows});
 
 <div class="help">
        <div class="left">
-<: $keys->print_legend('legend-types', [qw( ci pm po co cp mi mo mv me )]) :>
+<: $keys->print_legend('legend-types', ['g1' .. 'g9']) :>
        </div>
 
        <div class="right">