keys: move key definitions into translation includes
authorMischa POSLAWSKY <perl@shiar.org>
Sun, 18 Jun 2017 10:50:56 +0000 (12:50 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 17 Jul 2017 15:13:43 +0000 (17:13 +0200)
Partially reverts the split in commit v1.3-0-g2034c72e12 (2010-06-18)
[overhaul keyboard module include syntax], though keeps distinct keys.
Expected translations did not occur, while normal maintenance becomes much
harder with separated data.  Also translating can easily be done on top of
English includes without significant disadvantages.

16 files changed:
less.eng.inc.pl
less.inc.pl [deleted file]
mplayer.eng.inc.pl
mplayer.inc.pl [deleted file]
mutt.eng.inc.pl
mutt.inc.pl [deleted file]
nethack.eng.inc.pl
nethack.inc.pl [deleted file]
readline.eng.inc.pl
readline.inc.pl [deleted file]
screen.eng.inc.pl
screen.inc.pl [deleted file]
vi.eng.inc.pl
vi.inc.pl [deleted file]
vimperator.eng.inc.pl
vimperator.inc.pl [deleted file]

index 131bf4d..fed0bd2 100644 (file)
@@ -1,6 +1,8 @@
 use utf8;
 
 {
+# less v418
+
 key => {
        "\e"=> "alt<>/meta",
 
@@ -127,5 +129,152 @@ flag => {
        more => [more => "A small subset is compatible with `more`."],
 },
 
-def => do 'less.inc.pl',
+def => {
+       '' => {
+               "\e"=> 'g7 mode^[',
+
+               'b' => 'g2 more',
+               '^b'=> '=b',
+               'd' => 'g2 more',
+               '^d'=> '=d',
+               'e' => '=j',
+               '^e'=> '=j',
+               'f' => 'g2 more',
+               '^f'=> '=f',
+               'F' => 'g7',
+               'g' => 'g2',
+               '^g'=> '==',
+               'G' => 'g2',
+               'h' => 'g7 more',
+               'H' => '=h',
+               'j' => 'g2',
+               'k' => 'g2',
+               '^k'=> '=k',
+               '^l'=> '=r', # more
+               'm' => 'g3 arg',
+               '^m'=> '=j',
+               'n' => 'g4 more',
+               'N' => 'g4',
+               '^n'=> '=j',
+               'p' => 'g2',
+               '^p'=> '=k',
+               'q' => 'g8 more',
+               'Q' => '=q',
+               'r' => 'g1',
+               '^r'=> '=r',
+               'R' => 'g1',
+               's' => 'g8 arg',
+               't' => 'g4',
+               'T' => 'g4',
+               'u' => 'g2',
+               '^u'=> '=u',
+               'v' => 'g8 linkvi more',
+               '^v'=> '=f',
+               'V' => 'g1',
+               'w' => 'g2',
+               '^x'=> 'g8 arg mode^x',
+               'y' => '=k',
+               '^y'=> '=k',
+               'z' => 'g2 more',
+
+               '!' => 'g8 more',
+               '|' => 'g8 arg',
+               ':' => 'g8 arg mode:',
+               '/' => 'g4 arg more',
+               '?' => 'g4 arg',
+               '%' => '=p',
+               '&' => 'g4 arg',
+               "'" => 'g3 arg',
+               '-' => 'g8 arg mode-',
+               '_' => 'g1 arg mode-',
+               '=' => 'g1 more',
+               '+' => 'g7',
+
+               '(' => 'g4',
+               '<' => '=g',
+               '>' => '=G',
+       },
+
+       '^[' => { # esc
+               "\e"=> 'g7 mode',
+               'n' => 'g4',
+               'N' => 'g4',
+               'u' => 'g1',
+               'v' => '=b',
+               '(' => 'g2',
+               ')' => 'g2',
+               '<' => '=g',
+               '>' => '=G',
+       },
+
+       #'^x' => {
+       #       "\e"=> 'g7 mode',
+       #       '^x' => "='",
+       #       '^v' => '=:e',
+       #},
+
+       ':' => {
+               "\e"=> 'g7 mode',
+               'd' => 'g7',
+               'e' => 'g7',
+               'f' => '==',
+               'n' => 'g7 more',
+               'p' => 'g7 more',
+               'q' => '=q',
+               'Q' => '=:q',
+               'x' => 'g7',
+       },
+
+       '-' => {
+               "\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' => 'g8 arg',
+               'O' => 'g8 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' => 'g8',
+               'W' => 'g8',
+               'x' => 'g8 arg',
+               'X' => 'g8',
+               'y' => 'g2 arg',
+               'z' => 'g2 arg',
+               '"' => 'g8 arg',
+               '~' => 'g8',
+               '#' => 'g2 arg',
+               '-' => 'g8 arg',
+               '+' => 'g8 arg',
+       },
+},
 }
diff --git a/less.inc.pl b/less.inc.pl
deleted file mode 100644 (file)
index 8480d8c..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-use utf8;
-{ # less v418
-
-       '' => {
-               "\e"=> 'g7 mode^[',
-
-               'b' => 'g2 more',
-               '^b'=> '=b',
-               'd' => 'g2 more',
-               '^d'=> '=d',
-               'e' => '=j',
-               '^e'=> '=j',
-               'f' => 'g2 more',
-               '^f'=> '=f',
-               'F' => 'g7',
-               'g' => 'g2',
-               '^g'=> '==',
-               'G' => 'g2',
-               'h' => 'g7 more',
-               'H' => '=h',
-               'j' => 'g2',
-               'k' => 'g2',
-               '^k'=> '=k',
-               '^l'=> '=r', # more
-               'm' => 'g3 arg',
-               '^m'=> '=j',
-               'n' => 'g4 more',
-               'N' => 'g4',
-               '^n'=> '=j',
-               'p' => 'g2',
-               '^p'=> '=k',
-               'q' => 'g8 more',
-               'Q' => '=q',
-               'r' => 'g1',
-               '^r'=> '=r',
-               'R' => 'g1',
-               's' => 'g8 arg',
-               't' => 'g4',
-               'T' => 'g4',
-               'u' => 'g2',
-               '^u'=> '=u',
-               'v' => 'g8 linkvi more',
-               '^v'=> '=f',
-               'V' => 'g1',
-               'w' => 'g2',
-               '^x'=> 'g8 arg mode^x',
-               'y' => '=k',
-               '^y'=> '=k',
-               'z' => 'g2 more',
-
-               '!' => 'g8 more',
-               '|' => 'g8 arg',
-               ':' => 'g8 arg mode:',
-               '/' => 'g4 arg more',
-               '?' => 'g4 arg',
-               '%' => '=p',
-               '&' => 'g4 arg',
-               "'" => 'g3 arg',
-               '-' => 'g8 arg mode-',
-               '_' => 'g1 arg mode-',
-               '=' => 'g1 more',
-               '+' => 'g7',
-
-               '(' => 'g4',
-               '<' => '=g',
-               '>' => '=G',
-       },
-
-       '^[' => { # esc
-               "\e"=> 'g7 mode',
-               'n' => 'g4',
-               'N' => 'g4',
-               'u' => 'g1',
-               'v' => '=b',
-               '(' => 'g2',
-               ')' => 'g2',
-               '<' => '=g',
-               '>' => '=G',
-       },
-
-       #'^x' => {
-       #       "\e"=> 'g7 mode',
-       #       '^x' => "='",
-       #       '^v' => '=:e',
-       #},
-
-       ':' => {
-               "\e"=> 'g7 mode',
-               'd' => 'g7',
-               'e' => 'g7',
-               'f' => '==',
-               'n' => 'g7 more',
-               'p' => 'g7 more',
-               'q' => '=q',
-               'Q' => '=:q',
-               'x' => 'g7',
-       },
-
-       '-' => {
-               "\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' => 'g8 arg',
-               'O' => 'g8 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' => 'g8',
-               'W' => 'g8',
-               'x' => 'g8 arg',
-               'X' => 'g8',
-               'y' => 'g2 arg',
-               'z' => 'g2 arg',
-               '"' => 'g8 arg',
-               '~' => 'g8',
-               '#' => 'g2 arg',
-               '-' => 'g8 arg',
-               '+' => 'g8 arg',
-       },
-
-}
index 0cd0783..1c2e170 100644 (file)
@@ -67,5 +67,58 @@ flag => {
        ext => ["optional" => "Some features depend on setup and/or parameters."],
 },
 
-def => do 'mplayer.inc.pl',
+def => {
+       '' => {
+               "\e"=> 'q',
+               '[' => 'g7',
+               ']' => 'g7',
+               '{' => 'g7',
+               '}' => 'g7',
+               '<' => 'g9',
+               '>' => 'g9',
+               'p' => 'g7',
+               '.' => 'g7',
+               'q' => 'g9',
+               '+' => 'g6',
+               '-' => 'g6',
+               '/' => 'g6',
+               '*' => 'g6',
+               '9' => '=/',
+               '0' => '=*',
+               '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',
+       },
+},
 }
diff --git a/mplayer.inc.pl b/mplayer.inc.pl
deleted file mode 100644 (file)
index 94769c4..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-use utf8;
-{
-
-       '' => {
-               "\e"=> 'q',
-               '[' => 'g7',
-               ']' => 'g7',
-               '{' => 'g7',
-               '}' => 'g7',
-               '<' => 'g9',
-               '>' => 'g9',
-               'p' => 'g7',
-               '.' => 'g7',
-               'q' => 'g9',
-               '+' => 'g6',
-               '-' => 'g6',
-               '/' => 'g6',
-               '*' => 'g6',
-               '9' => '=/',
-               '0' => '=*',
-               '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 c67cb3b..2c58283 100644 (file)
@@ -1,6 +1,6 @@
 use utf8;
 
-my %common = (
+my %commonkey = (
        'H' => "screen top",
        'j' => "entry <down>",
        'k' => "entry <up>",
@@ -13,6 +13,7 @@ my %common = (
        't' => "tag",
        'z' => "page <down>",
        'Z' => "page <up>",
+
        '*' => "last entry",
        '=' => "first entry",
        ':' => "enter command",
@@ -27,9 +28,39 @@ my %common = (
        '+/'=> "search <up>",
 );
 
+my %commondef = (
+       "\e"=> 'g9 mode',
+
+       '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
+
+       '*' => '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
+);
+
 {
 key => {
-       %common,
+       %commonkey,
 
        '@' => "display sender",
        '.' => "list new mail",
@@ -106,7 +137,7 @@ key => {
        'x' => "abort",
        'y' => "list incoming mailboxes",
 
-       (map { 'm'.$_ => $common{$_} } keys %common),
+       (map { 'm'.$_ => $commonkey{$_} } keys %commonkey),
 
        'm|' => "pipe attach<>m<>ent",
        'ma' => "attach file",
@@ -222,5 +253,186 @@ flag => {
        arg => ["key<arg>" => "Commands with a dot need an argument afterwards."],
 },
 
-def => do 'mutt.inc.pl',
+def => {
+       '' => {
+               %commondef,
+
+               '@' => 'g1', # display-address
+               '.' => 'g8', # buffy-list #TODO
+               '|' => 'g6', # pipe-message
+               '$' => 'g4', # sync-mailbox
+               '#' => 'g4', # break-thread
+               '&' => 'g4', # link-threads
+               '%' => 'g4', # toggle-write
+               ' ' => '=^m',
+
+               'a' => 'g6', # create-alias
+               'b' => 'g7', # bounce-message
+               '^b'=> 'g1',
+               '+b'=> undef, # M <search>~b
+               'c' => 'g8', # change-folder
+               'C' => 'g6', # copy-message
+               '+c'=> 'g8', # change-folder-readonly
+               '+C'=> undef, # decode-copy
+               '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' => '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' => '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' => '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' => {
+               %commondef,
+
+               '|' => '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"=> 'g9 mode',
+               'D' => 'g4',
+               'd' => '=wD',
+               'N' => 'g4',
+               'n' => '=wN',
+               'O' => 'g4',
+               'o' => '=wO',
+               'r' => 'g4',
+               'R' => '=wr',
+               '*' => 'g4',
+               '!' => 'g4',
+       }, # flag
+
+       '/~' => {
+               "\e"=> 'g9 mode',
+               A => 'g3',
+               b => 'g3 arg',
+               B => 'g3 arg',
+               c => 'g3 arg',
+               C => 'g3 arg',
+               d => 'g3 arg',
+               D => 'g3',
+               e => 'g3 arg',
+               E => 'g3',
+               f => 'g3 arg',
+               F => 'g3',
+               g => 'g3',
+               G => 'g3',
+               h => 'g3 arg',
+               H => 'g3 arg',
+               i => 'g3 arg',
+               k => 'g3',
+               L => 'g3 arg',
+               l => 'g3',
+               m => 'g3 arg',
+               n => 'g3 arg',
+               N => 'g3',
+               O => 'g3',
+               p => 'g3',
+               P => 'g3',
+               Q => 'g3',
+               r => 'g3 arg',
+               R => 'g3',
+               s => 'g3',
+               S => 'g3',
+               t => 'g3 arg',
+               T => 'g3',
+               u => 'g3',
+               U => 'g3',
+               v => 'g3',
+               V => 'g3',
+               x => 'g3 arg',
+               X => 'g3 arg',
+               y => 'g3 arg',
+               z => 'g3 arg',
+               '=' => 'g3',
+               '$' => 'g3',
+               '(' => 'g3 arg',
+       }, # search option
+},
 }
diff --git a/mutt.inc.pl b/mutt.inc.pl
deleted file mode 100644 (file)
index adc299f..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-use utf8;
-
-my %common = (
-       "\e"=> 'g9 mode',
-
-       '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
-
-       '*' => '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
-);
-
-{
-
-       '' => {
-               %common,
-
-               '@' => 'g1', # display-address
-               '.' => 'g8', # buffy-list #TODO
-               '|' => 'g6', # pipe-message
-               '$' => 'g4', # sync-mailbox
-               '#' => 'g4', # break-thread
-               '&' => 'g4', # link-threads
-               '%' => 'g4', # toggle-write
-               ' ' => '=^m',
-
-               'a' => 'g6', # create-alias
-               'b' => 'g7', # bounce-message
-               '^b'=> 'g1',
-               '+b'=> undef, # M <search>~b
-               'c' => 'g8', # change-folder
-               'C' => 'g6', # copy-message
-               '+c'=> 'g8', # change-folder-readonly
-               '+C'=> undef, # decode-copy
-               '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' => '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' => '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' => '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,
-
-               '|' => '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"=> 'g9 mode',
-               'D' => 'g4',
-               'd' => '=wD',
-               'N' => 'g4',
-               'n' => '=wN',
-               'O' => 'g4',
-               'o' => '=wO',
-               'r' => 'g4',
-               'R' => '=wr',
-               '*' => 'g4',
-               '!' => 'g4',
-       }, # flag
-
-       '/~' => {
-               "\e"=> 'g9 mode',
-               A => 'g3',
-               b => 'g3 arg',
-               B => 'g3 arg',
-               c => 'g3 arg',
-               C => 'g3 arg',
-               d => 'g3 arg',
-               D => 'g3',
-               e => 'g3 arg',
-               E => 'g3',
-               f => 'g3 arg',
-               F => 'g3',
-               g => 'g3',
-               G => 'g3',
-               h => 'g3 arg',
-               H => 'g3 arg',
-               i => 'g3 arg',
-               k => 'g3',
-               L => 'g3 arg',
-               l => 'g3',
-               m => 'g3 arg',
-               n => 'g3 arg',
-               N => 'g3',
-               O => 'g3',
-               p => 'g3',
-               P => 'g3',
-               Q => 'g3',
-               r => 'g3 arg',
-               R => 'g3',
-               s => 'g3',
-               S => 'g3',
-               t => 'g3 arg',
-               T => 'g3',
-               u => 'g3',
-               U => 'g3',
-               v => 'g3',
-               V => 'g3',
-               x => 'g3 arg',
-               X => 'g3 arg',
-               y => 'g3 arg',
-               z => 'g3 arg',
-               '=' => 'g3',
-               '$' => 'g3',
-               '(' => 'g3 arg',
-       }, # search option
-
-}
index 95e84af..e54a639 100644 (file)
@@ -152,5 +152,143 @@ flag => {
        argm => ["key<argm>" => "Requires a direction afterwards."],
 },
 
-def => do 'nethack.inc.pl',
+def => {
+       '' => {
+               'b' => 'g2',
+               'j' => 'g2',
+               'n' => 'g2',
+               'h' => 'g2',
+               'l' => 'g2',
+               'y' => 'g2',
+               'k' => 'g2',
+               'u' => 'g2',
+
+               'B' => 'g3',
+               'J' => 'g3',
+               'N' => 'g3',
+               'H' => 'g3',
+               'L' => 'g3',
+               'Y' => 'g3',
+               'K' => 'g3',
+               'U' => 'g3',
+
+               '^b'=> 'g3',
+               '^j'=> 'g3',
+               '^n'=> 'g3',
+               '^h'=> 'g3',
+               '^l'=> 'g3',
+               '^y'=> 'g3',
+               '^k'=> 'g3',
+               '^u'=> 'g3',
+
+               'g' => 'g3 argm',
+               'm' => 'g3 argm',
+               'G' => 'g3 argm',
+
+               '?' => 'g8 mode?', #help
+               '+?'=> 'g8',
+               '/' => 'g6 arg mode/', #whatis
+               '&' => 'g6 arg',
+               '<' => 'g2', #up
+               '>' => 'g2', #down
+               '.' => 'g2', #rest
+               '_' => 'g3 argM', #travel
+
+               '+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
+
+               ':' => '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' => 'g4',
+               'U' => 'g4',
+               'C' => 'g4',
+               'X' => 'g4',
+               'a' => 'g4',
+               'i' => 'g6',
+               'u' => 'g4',
+               'm' => 'g4 argi',
+               '%' => 'g4 arg',
+       },
+
+       'I' => {
+               '*' => 'g6',
+               'u' => 'g6',
+               'x' => 'g6',
+               '$' => 'g6',
+       },
+},
 }
diff --git a/nethack.inc.pl b/nethack.inc.pl
deleted file mode 100644 (file)
index 6123394..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-use utf8;
-{
-
-       '' => {
-               'b' => 'g2',
-               'j' => 'g2',
-               'n' => 'g2',
-               'h' => 'g2',
-               'l' => 'g2',
-               'y' => 'g2',
-               'k' => 'g2',
-               'u' => 'g2',
-
-               'B' => 'g3',
-               'J' => 'g3',
-               'N' => 'g3',
-               'H' => 'g3',
-               'L' => 'g3',
-               'Y' => 'g3',
-               'K' => 'g3',
-               'U' => 'g3',
-
-               '^b'=> 'g3',
-               '^j'=> 'g3',
-               '^n'=> 'g3',
-               '^h'=> 'g3',
-               '^l'=> 'g3',
-               '^y'=> 'g3',
-               '^k'=> 'g3',
-               '^u'=> 'g3',
-
-               'g' => 'g3 argm',
-               'm' => 'g3 argm',
-               'G' => 'g3 argm',
-
-               '?' => 'g8 mode?', #help
-               '+?'=> 'g8',
-               '/' => 'g6 arg mode/', #whatis
-               '&' => 'g6 arg',
-               '<' => 'g2', #up
-               '>' => 'g2', #down
-               '.' => 'g2', #rest
-               '_' => 'g3 argM', #travel
-
-               '+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
-
-               ':' => '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' => 'g4',
-               'U' => 'g4',
-               'C' => 'g4',
-               'X' => 'g4',
-               'a' => 'g4',
-               'i' => 'g6',
-               'u' => 'g4',
-               'm' => 'g4 argi',
-               '%' => 'g4 arg',
-       },
-
-       'I' => {
-               '*' => 'g6',
-               'u' => 'g6',
-               'x' => 'g6',
-               '$' => 'g6',
-       },
-
-}
index 87eb061..4b28885 100644 (file)
@@ -98,5 +98,101 @@ flag => {
        ext => ["bash" => "Default assignment in Bash shells, but not common readline."],
 },
 
-def => do 'readline.inc.pl',
+def => {
+       '' => {
+               "\e" => 'g8',
+
+               '+<' => 'g4',
+               '+=' => '=+?', #TODO: new # emacs, not in v2.0
+               '+>' => 'g4',
+               '^?' => '=^h',
+               '+?' => 'g1',
+               '^@' => 'g8 new', # not in v2.0
+
+               '+#' => 'g6 new', # not in v2.0
+               '+&' => 'g6',
+               '+*' => 'g6 new', # not in v2.0
+               '+.' => 'g4',
+               '+~' => '=+&amp;', # emacs
+
+               '^[' => 'g8',
+               '^+['=> '=^i',
+               '+\\'=> 'g7',
+               '^]' => 'g2 arg new', # not in v2.0
+               '^+]'=> 'g2 arg new', # not in v2.0
+               '^_' => 'g4',
+               '+_' => '=+.',
+
+               '+~' => 'g6 ext', # common emacs => '=+&'
+               '+!' => 'g6 ext',
+               '+@' => 'g6 ext',
+               '+$' => 'g6 ext',
+               '+^' => 'g4 ext',
+               '+/' => 'g1 ext',
+
+               '^a' => 'g2',
+               '^b' => 'g2',
+               '+b' => 'g2',
+               '^c' => 'g8 ext',
+               '+c' => 'g6',
+               '^d' => 'g7',
+               '+d' => 'g7 ring',
+       #       '^e' => 'g9',
+               '^e' => 'g2',
+               '^f' => 'g2',
+               '+f' => 'g2',
+               '^g' => 'g8',
+               '^+g'=> '=^g',
+               '^h' => 'g7',
+               '^+h'=> 'g7 ring', #TODO
+               '^i' => 'g6',
+               '^+i'=> '=^v^i',
+               '^j' => '=^m',
+               '^+j'=> 'g9', #TODO: mode^+j
+               '^k' => 'g7 ring',
+               '^l' => 'g1',
+               '+l' => 'g6',
+               '^m' => 'g4',
+               '^+m'=> '=^+j',
+               '^n' => 'g4',
+               '+n' => 'g4',
+               '^o' => 'g4 ext',
+               '^p' => 'g4',
+               '+p' => 'g4',
+               '^q' => '=^v',
+               '^r' => 'g4',
+               '+r' => 'g4',
+               '^+r'=> '=+r',
+               '^s' => 'g4',
+               '^t' => 'g6',
+               '+t' => 'g6',
+               '^u' => 'g7 ring',
+               '+u' => 'g6',
+               '^v' => 'g8',
+               '^w' => 'g7 ring',
+               '^x' => 'g9 arg mode^x',
+               '^y' => 'g4',
+               '+y' => 'g4 ring',
+               '^+y'=> "yank arg",
+               '^z' => 'g8 ext',
+       },
+
+       '^x' => {
+               lead => "x̂",
+
+               "\e" => 'g8 mode',
+
+               '('  => 'g8',
+               ')'  => 'g8',
+               'e'  => 'g8',
+               '^e' => 'g6 ext linkvi',
+               '^g' => '=^g',
+               '^h' => '=^u',
+               '^r' => 'g8',
+               '^u' => '=^_',
+               '^x' => 'g2 new', # not in v2.0
+               '^v' => 'g1 ext',
+               '^?' => '=^x^h',
+       },
+},
 }
diff --git a/readline.inc.pl b/readline.inc.pl
deleted file mode 100644 (file)
index a9f5d03..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-use utf8;
-{
-
-       '' => {
-               "\e" => 'g8',
-
-               '+<' => 'g4',
-               '+=' => '=+?', #TODO: new # emacs, not in v2.0
-               '+>' => 'g4',
-               '^?' => '=^h',
-               '+?' => 'g1',
-               '^@' => 'g8 new', # not in v2.0
-
-               '+#' => 'g6 new', # not in v2.0
-               '+&' => 'g6',
-               '+*' => 'g6 new', # not in v2.0
-               '+.' => 'g4',
-               '+~' => '=+&amp;', # emacs
-
-               '^[' => 'g8',
-               '^+['=> '=^i',
-               '+\\'=> 'g7',
-               '^]' => 'g2 arg new', # not in v2.0
-               '^+]'=> 'g2 arg new', # not in v2.0
-               '^_' => 'g4',
-               '+_' => '=+.',
-
-               '+~' => 'g6 ext', # common emacs => '=+&'
-               '+!' => 'g6 ext',
-               '+@' => 'g6 ext',
-               '+$' => 'g6 ext',
-               '+^' => 'g4 ext',
-               '+/' => 'g1 ext',
-
-               '^a' => 'g2',
-               '^b' => 'g2',
-               '+b' => 'g2',
-               '^c' => 'g8 ext',
-               '+c' => 'g6',
-               '^d' => 'g7',
-               '+d' => 'g7 ring',
-       #       '^e' => 'g9',
-               '^e' => 'g2',
-               '^f' => 'g2',
-               '+f' => 'g2',
-               '^g' => 'g8',
-               '^+g'=> '=^g',
-               '^h' => 'g7',
-               '^+h'=> 'g7 ring', #TODO
-               '^i' => 'g6',
-               '^+i'=> '=^v^i',
-               '^j' => '=^m',
-               '^+j'=> 'g9', #TODO: mode^+j
-               '^k' => 'g7 ring',
-               '^l' => 'g1',
-               '+l' => 'g6',
-               '^m' => 'g4',
-               '^+m'=> '=^+j',
-               '^n' => 'g4',
-               '+n' => 'g4',
-               '^o' => 'g4 ext',
-               '^p' => 'g4',
-               '+p' => 'g4',
-               '^q' => '=^v',
-               '^r' => 'g4',
-               '+r' => 'g4',
-               '^+r'=> '=+r',
-               '^s' => 'g4',
-               '^t' => 'g6',
-               '+t' => 'g6',
-               '^u' => 'g7 ring',
-               '+u' => 'g6',
-               '^v' => 'g8',
-               '^w' => 'g7 ring',
-               '^x' => 'g9 arg mode^x',
-               '^y' => 'g4',
-               '+y' => 'g4 ring',
-               '^+y'=> "yank arg",
-               '^z' => 'g8 ext',
-       },
-
-       '^x' => {
-               lead => "x̂",
-
-               "\e" => 'g8 mode',
-
-               '('  => 'g8',
-               ')'  => 'g8',
-               'e'  => 'g8',
-               '^e' => 'g6 ext linkvi',
-               '^g' => '=^g',
-               '^h' => '=^u',
-               '^r' => 'g8',
-               '^u' => '=^_',
-               '^x' => 'g2 new', # not in v2.0
-               '^v' => 'g1 ext',
-               '^?' => '=^x^h',
-       },
-
-}
index e13cb1b..7198b25 100644 (file)
@@ -1,6 +1,8 @@
 use utf8;
 
 {
+# screen version 4.00.03jw4
+
 key => {
        'a' => "literal a",
        'A' => "title", # title
@@ -78,5 +80,87 @@ flag => {
        arg => ["key<arg>" => "Commands with a dot need a char argument afterwards."],
 },
 
-def => do 'screen.inc.pl',
+def => {
+       '' => {
+               'a' => 'g7',
+               'A' => 'g9 args', # title
+               '^a'=> 'g3',
+               'b' => 'g7', # break
+               'B' => 'g7', # pow_break
+               '^b'=> '=b',
+               'c' => 'g9', # screen
+               'C' => 'g2', # clear
+               '^c'=> '=c',
+               'd' => 'g9', # detach
+               'D' => 'g9', # pow_detach
+               '^d'=> '=d',
+               'f' => 'g4', # flow
+               'F' => 'g4',
+               '^f'=> '=f',
+               '^g'=> 'g4', # vbell
+               'h' => 'g6', # hardcopy
+               'H' => 'g5', # log
+               '^h'=> '=^p',
+               'i' => 'g1', # info
+               'I' => 'g5', #XXX
+               '^i'=> 'g2', # focus
+               'k' => 'g5', # kill
+               'K' => '=k',
+               'l' => 'g2', # redisplay
+               'L' => 'g5', # login
+               '^l'=> '=l',
+               'm' => 'g1', # lastmsg
+               'M' => 'g5', # monitor
+               '^m'=> '=m',
+               'n' => 'g3', # next
+               'N' => 'g1', # number
+               '^n'=> '=n',
+               'O' => 'g5', #XXX
+               '^o'=> 'g3', # other
+               'p' => 'g3', # prev
+               '^p'=> '=p',
+               'q' => 'g4', # xon
+               'Q' => 'g2', # only
+               '^q'=> '=q',
+               'r' => 'g4', # wrap
+               '^r'=> '=r',
+               's' => 'g4', # xoff
+               '^s'=> '=s',
+               't' => 'g1', # time
+               '^t'=> '=t',
+               'v' => 'g1',
+               '^v'=> 'g7 arg arg linkdigraphs', # digraph
+               'w' => 'g1', # windows
+               'W' => 'g4', # width
+               '^w'=> '=w',
+               'x' => 'g9', # lockscreen
+               'X' => 'g2', # remove
+               '^x'=> '=x',
+               'z' => 'g9', # suspend
+               'Z' => 'g9',
+               '^z'=> '=z',
+
+               "'" => 'g3 arg', # select
+               '"' => 'g3', # windowlist -b
+               ':' => 'g4', # colon
+               "\e"=> 'g6', # copy
+               '[' => '=^[',
+               '^['=> "=\e",
+               '^]'=> 'g7', # paste .
+               ']' => '=^]',
+               '|' => 'g2', # split -v
+               '{' => 'g7', # history
+               '}' => 'g7', # history
+               '=' => 'g6', # removebuf
+               '^?'=> '=^h',
+               '*' => 'g1', # displays
+               '.' => 'g9', # dumptermcap
+               ',' => 'g1', # license
+               '-' => 'g3', # select -
+               '_' => 'g5', # silence
+               '>' => 'g6', # writebuf
+               '<' => 'g6', # readbuf
+               '^@'=> '=n',
+       },
+},
 }
diff --git a/screen.inc.pl b/screen.inc.pl
deleted file mode 100644 (file)
index 6054967..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-use utf8;
-{
-
-       # screen version 4.00.03jw4
-
-       '' => {
-               'a' => 'g7',
-               'A' => 'g9 args', # title
-               '^a'=> 'g3',
-               'b' => 'g7', # break
-               'B' => 'g7', # pow_break
-               '^b'=> '=b',
-               'c' => 'g9', # screen
-               'C' => 'g2', # clear
-               '^c'=> '=c',
-               'd' => 'g9', # detach
-               'D' => 'g9', # pow_detach
-               '^d'=> '=d',
-               'f' => 'g4', # flow
-               'F' => 'g4',
-               '^f'=> '=f',
-               '^g'=> 'g4', # vbell
-               'h' => 'g6', # hardcopy
-               'H' => 'g5', # log
-               '^h'=> '=^p',
-               'i' => 'g1', # info
-               'I' => 'g5', #XXX
-               '^i'=> 'g2', # focus
-               'k' => 'g5', # kill
-               'K' => '=k',
-               'l' => 'g2', # redisplay
-               'L' => 'g5', # login
-               '^l'=> '=l',
-               'm' => 'g1', # lastmsg
-               'M' => 'g5', # monitor
-               '^m'=> '=m',
-               'n' => 'g3', # next
-               'N' => 'g1', # number
-               '^n'=> '=n',
-               'O' => 'g5', #XXX
-               '^o'=> 'g3', # other
-               'p' => 'g3', # prev
-               '^p'=> '=p',
-               'q' => 'g4', # xon
-               'Q' => 'g2', # only
-               '^q'=> '=q',
-               'r' => 'g4', # wrap
-               '^r'=> '=r',
-               's' => 'g4', # xoff
-               '^s'=> '=s',
-               't' => 'g1', # time
-               '^t'=> '=t',
-               'v' => 'g1',
-               '^v'=> 'g7 arg arg linkdigraphs', # digraph
-               'w' => 'g1', # windows
-               'W' => 'g4', # width
-               '^w'=> '=w',
-               'x' => 'g9', # lockscreen
-               'X' => 'g2', # remove
-               '^x'=> '=x',
-               'z' => 'g9', # suspend
-               'Z' => 'g9',
-               '^z'=> '=z',
-
-               "'" => 'g3 arg', # select
-               '"' => 'g3', # windowlist -b
-               ':' => 'g4', # colon
-               "\e"=> 'g6', # copy
-               '[' => '=^[',
-               '^['=> "=\e",
-               '^]'=> 'g7', # paste .
-               ']' => '=^]',
-               '|' => 'g2', # split -v
-               '{' => 'g7', # history
-               '}' => 'g7', # history
-               '=' => 'g6', # removebuf
-               '^?'=> '=^h',
-               '*' => 'g1', # displays
-               '.' => 'g9', # dumptermcap
-               ',' => 'g1', # license
-               '-' => 'g3', # select -
-               '_' => 'g5', # silence
-               '>' => 'g6', # writebuf
-               '<' => 'g6', # readbuf
-               '^@'=> '=n',
-       },
-
-}
index 03eabf3..77c6acc 100644 (file)
@@ -440,8 +440,6 @@ key => {
        'i^x^u' => "cus<>tom comp<>l<>et<>e",
        'i^x^v' => "ex cmd compl<>et<>e",
        'i^x^y' => "window down",
-
-       # XXX ex mode if you want to go completely wild
 },
 
 mode => {
@@ -478,5 +476,569 @@ flag => {
        'ext new vim7' => ["vim7", "New in vim version 7.x."],
 },
 
-def => do 'vi.inc.pl',
+def => {
+       '' => {
+               '~' => "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' => "g6 undo modei",
+               'I' => "g6 undo modei",
+               '^i'=> "g2 ext vim6",
+               'j' => "g2",
+               'J' => "g4 undo",
+               '^j'=> "=j",
+               'k' => "g2",
+               'K' => "g4",
+               'l' => "g2",
+               'L' => "g2",
+               '^l'=> "g1",
+               'm' => "g4 arg",
+               'M' => "g2",
+               '^m'=> "=+",
+               'n' => "g2",
+               'N' => "g2",
+               '^n'=> "=j",
+               'o' => "g6 undo modei",
+               'O' => "g6 undo modei",
+               '^o'=> "g2 ext vim6",
+               'p' => "g4 undo",
+               'P' => "g4 undo",
+               '^p'=> "=k",
+               '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 arg",
+               '^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"=> "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 vim6",
+               '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"=> "g7 mode",
+               '^['=> "=\e",
+
+               'Q' => "g4 ext vim6",
+               'Z' => "g4",
+       }, # mode Z
+
+       z => {
+               lead => "z",
+
+               "\e"=> "g7 mode",
+
+               '^' => "g3",
+               '+' => "g3",
+               '-' => "g3",
+               '=' => "g4 ext vim7 new",
+               '.' => "g3",
+               '^['=> "=\e",
+
+               '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"=> "g7 mode",
+
+               "`" => "g2 ext vim6",
+               '#' => "g2",
+               '(' => "g2",
+               '*' => "=[/",
+               '/' => "g2",
+               "'" => "=[` ^", # ext vim6
+               '{' => "g2",
+               '[' => "g2",
+               '^['=> "=\e",
+               ']' => "g2",
+
+               'c' => "g2",
+               'd' => "g1",
+               'D' => "g4",
+               '^d'=> "g3",
+               'f' => "=gf",  # deprecated
+               '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"=> "g7 mode",
+
+               "`" => "g2 ext vim6",
+               '#' => "g2",
+               ')' => "g2",
+               '*' => "=]/",
+               "'" => "=]` ^", # ext vim6
+               '/' => "g2",
+               '[' => "g2",
+               '^['=> "=\e",
+               ']' => "g2",
+               '}' => "g2",
+
+               'c' => "g2",
+               'd' => "g1",
+               'D' => "g4",
+               '^d'=> "g3",
+               'f' => "=gf",  # deprecated
+               'i' => "g1",
+               'I' => "g4",
+               '^i'=> "g3",
+               'm' => "g2",
+               'p' => "g4",
+               'P' => "=[p",
+               's' => "g3 ext vim7 new",
+               'S' => "g3 ext vim7 new",
+               'z' => "g2 ext vim6 folding",
+       }, # mode ]
+
+       '^w' => {
+               lead => "ŵ",
+
+               "\e"=> "g7 mode",
+
+               '<' => "g3",
+               '>' => "g3",
+               '^' => "g4",
+               '_' => "g3",
+               '+' => "g3",
+               '-' => "g3",
+               '=' => "g3",
+               '^['=> "=\e",
+               ']' => "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' => "g3",
+               'v' => "g3",
+               'w' => "g3",
+               'W' => "g3",
+               'x' => "g3",
+               'z' => "g3",
+       }, # mode ^w
+
+       '^wg' => {
+               lead => "ŵg",
+
+               "\e"=> "g7 mode",
+               '^['=> "=\e",
+               ']' => "g3",
+               '}' => "g3",
+               '^]'=> "g3",
+               'f' => "g4 ext vim7 new",
+               'F' => "g4 ext vim7 new",
+       }, # mode ^w g
+
+       v => {
+               "\e"=> "g7 mode",
+
+               '!' => "g4",
+               ':' => "g7 modec",
+               '<' => "g4",
+               '=' => 'g4 undo',
+               '>' => 'g4',
+               '~' => "g4 ext vim6",
+               '^['=> "=\e",
+               '^]'=> "g3",
+               '^\\'=>'^\\',
+
+               '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' => 'g4 arg',
+               'R' => "=vS",  # "might change in future"
+               '^s'=> "=^s",
+               's' => "=vc",
+               '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' => "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
+                       n N ^n ^p q ^s t T ^u w W ^w ^y z ^z
+                       ` # $ % ^ * ( 0 ) [ { ] } ; / ? + - _ |
+               ) # a lot like normal mode
+       }, # mode v
+
+       vg => {
+               lead => "g",
+
+               "\e"=> "g8 modev",
+
+               '^['=> "=\e",
+               '?' => "g4 ext vim6",
+               '^g' => "g1 vim6",
+               'J' => 'g4 ext vim6',
+               'q' => "g4 ext vim6",
+               'v' => "=gv",
+               'w' => 'g4 ext vim7 new',
+       }, # mode v g
+
+       va => {
+               "\e"=> "g8 modev",
+
+               '(' => "=vab",
+               ')' => "=vab",
+               '`' => "=va'",
+               "'" => 'g2 ext vim7 new',
+               '"' => "=va'",
+               '<' => 'g2 ext vim6',
+               '>' => "=va&lt;",
+               '[' => 'g2 ext vim6',
+               '{' => "=vaB",
+               '^['=> "=\e",
+               ']' => "=va[",
+               '}' => "=vaB",
+
+               '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 => {
+       #       desc => "command-line mode",
+       #
+       #       '^_' => "=i^_",
+       #       '^^' => "=i^^",
+       #       '^\\'=>'^\\',
+       #       '^a' => "", #todo
+       #       '^b' => "g3",
+       #       '^c' => "=i^c",
+       #       '^d' => "", #todo
+       #       '^e' => "g3",
+       #       '^h' => "=i^h",
+       #       '^j' => "g4",
+       #       '^k' => "=i^k",
+       #       '^l' => "", #todo
+       #       '^n' => "", #todo
+       #       '^p' => "", #todo
+       #       '^r' => "=i^r", # and then some...
+       #            ## ["g4 arg ext vim6"],
+       #       '^q' => "=^q",
+       #       '^u' => "=i^u",
+       #       '^v' => "=i^v",
+       #       '^w' => "=i^w",
+       #       '^y' => "g4",
+       #}, # mode c
+
+       i => {
+               "\e" => "g7 mode",
+
+               '^@' => "g4",
+               '^^' => "g4 ext vim6",
+               '^['=> "=\e",
+               '^]' => "g4 ext vim6",
+               '^_' => "g4 ext vim6",
+               '^\\'=>'^\\',
+
+               '^a' => "g4 ext vim6",
+               '^b' => "no 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' => 'g4 arg ext vim6',
+               '^s' => "=^s",
+               '^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"=> 'g6 modei',
+
+               'k' => 'g2',
+               'j' => 'g2',
+               'u' => 'g4',
+               # other keys (even esc) are not recognized
+       }, # mode i ^g
+
+       'i^x' => {
+               lead => "x̂",
+
+               "\e" => "g7 mode", # yes, it really leaves insert mode
+
+               '^['=> "=\e",
+               '^]' => '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' => '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.inc.pl b/vi.inc.pl
deleted file mode 100644 (file)
index 7654d94..0000000
--- a/vi.inc.pl
+++ /dev/null
@@ -1,567 +0,0 @@
-use utf8;
-{
-
-       '' => {
-               '~' => "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' => "g6 undo modei",
-               'I' => "g6 undo modei",
-               '^i'=> "g2 ext vim6",
-               'j' => "g2",
-               'J' => "g4 undo",
-               '^j'=> "=j",
-               'k' => "g2",
-               'K' => "g4",
-               'l' => "g2",
-               'L' => "g2",
-               '^l'=> "g1",
-               'm' => "g4 arg",
-               'M' => "g2",
-               '^m'=> "=+",
-               'n' => "g2",
-               'N' => "g2",
-               '^n'=> "=j",
-               'o' => "g6 undo modei",
-               'O' => "g6 undo modei",
-               '^o'=> "g2 ext vim6",
-               'p' => "g4 undo",
-               'P' => "g4 undo",
-               '^p'=> "=k",
-               '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 arg",
-               '^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"=> "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 vim6",
-               '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"=> "g7 mode",
-               '^['=> "=\e",
-
-               'Q' => "g4 ext vim6",
-               'Z' => "g4",
-       }, # mode Z
-
-       z => {
-               lead => "z",
-
-               "\e"=> "g7 mode",
-
-               '^' => "g3",
-               '+' => "g3",
-               '-' => "g3",
-               '=' => "g4 ext vim7 new",
-               '.' => "g3",
-               '^['=> "=\e",
-
-               '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"=> "g7 mode",
-
-               "`" => "g2 ext vim6",
-               '#' => "g2",
-               '(' => "g2",
-               '*' => "=[/",
-               '/' => "g2",
-               "'" => "=[` ^", # ext vim6
-               '{' => "g2",
-               '[' => "g2",
-               '^['=> "=\e",
-               ']' => "g2",
-
-               'c' => "g2",
-               'd' => "g1",
-               'D' => "g4",
-               '^d'=> "g3",
-               'f' => "=gf",  # deprecated
-               '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"=> "g7 mode",
-
-               "`" => "g2 ext vim6",
-               '#' => "g2",
-               ')' => "g2",
-               '*' => "=]/",
-               "'" => "=]` ^", # ext vim6
-               '/' => "g2",
-               '[' => "g2",
-               '^['=> "=\e",
-               ']' => "g2",
-               '}' => "g2",
-
-               'c' => "g2",
-               'd' => "g1",
-               'D' => "g4",
-               '^d'=> "g3",
-               'f' => "=gf",  # deprecated
-               'i' => "g1",
-               'I' => "g4",
-               '^i'=> "g3",
-               'm' => "g2",
-               'p' => "g4",
-               'P' => "=[p",
-               's' => "g3 ext vim7 new",
-               'S' => "g3 ext vim7 new",
-               'z' => "g2 ext vim6 folding",
-       }, # mode ]
-
-       '^w' => {
-               lead => "ŵ",
-
-               "\e"=> "g7 mode",
-
-               '<' => "g3",
-               '>' => "g3",
-               '^' => "g4",
-               '_' => "g3",
-               '+' => "g3",
-               '-' => "g3",
-               '=' => "g3",
-               '^['=> "=\e",
-               ']' => "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' => "g3",
-               'v' => "g3",
-               'w' => "g3",
-               'W' => "g3",
-               'x' => "g3",
-               'z' => "g3",
-       }, # mode ^w
-
-       '^wg' => {
-               lead => "ŵg",
-
-               "\e"=> "g7 mode",
-               '^['=> "=\e",
-               ']' => "g3",
-               '}' => "g3",
-               '^]'=> "g3",
-               'f' => "g4 ext vim7 new",
-               'F' => "g4 ext vim7 new",
-       }, # mode ^w g
-
-       v => {
-               "\e"=> "g7 mode",
-
-               '!' => "g4",
-               ':' => "g7 modec",
-               '<' => "g4",
-               '=' => 'g4 undo',
-               '>' => 'g4',
-               '~' => "g4 ext vim6",
-               '^['=> "=\e",
-               '^]'=> "g3",
-               '^\\'=>'^\\',
-
-               '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' => 'g4 arg',
-               'R' => "=vS",  # "might change in future"
-               '^s'=> "=^s",
-               's' => "=vc",
-               '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' => "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
-                       n N ^n ^p q ^s t T ^u w W ^w ^y z ^z
-                       ` # $ % ^ * ( 0 ) [ { ] } ; / ? + - _ |
-               ) # a lot like normal mode
-       }, # mode v
-
-       vg => {
-               lead => "g",
-
-               "\e"=> "g8 modev",
-
-               '^['=> "=\e",
-               '?' => "g4 ext vim6",
-               '^g' => "g1 vim6",
-               'J' => 'g4 ext vim6',
-               'q' => "g4 ext vim6",
-               'v' => "=gv",
-               'w' => 'g4 ext vim7 new',
-       }, # mode v g
-
-       va => {
-               "\e"=> "g8 modev",
-
-               '(' => "=vab",
-               ')' => "=vab",
-               '`' => "=va'",
-               "'" => 'g2 ext vim7 new',
-               '"' => "=va'",
-               '<' => 'g2 ext vim6',
-               '>' => "=va&lt;",
-               '[' => 'g2 ext vim6',
-               '{' => "=vaB",
-               '^['=> "=\e",
-               ']' => "=va[",
-               '}' => "=vaB",
-
-               '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 => {
-       #       desc => "command-line mode",
-       #
-       #       '^_' => "=i^_",
-       #       '^^' => "=i^^",
-       #       '^\\'=>'^\\',
-       #       '^a' => "", #todo
-       #       '^b' => "g3",
-       #       '^c' => "=i^c",
-       #       '^d' => "", #todo
-       #       '^e' => "g3",
-       #       '^h' => "=i^h",
-       #       '^j' => "g4",
-       #       '^k' => "=i^k",
-       #       '^l' => "", #todo
-       #       '^n' => "", #todo
-       #       '^p' => "", #todo
-       #       '^r' => "=i^r", # and then some...
-       #            ## ["g4 arg ext vim6"],
-       #       '^q' => "=^q",
-       #       '^u' => "=i^u",
-       #       '^v' => "=i^v",
-       #       '^w' => "=i^w",
-       #       '^y' => "g4",
-       #}, # mode c
-
-       i => {
-               "\e" => "g7 mode",
-
-               '^@' => "g4",
-               '^^' => "g4 ext vim6",
-               '^['=> "=\e",
-               '^]' => "g4 ext vim6",
-               '^_' => "g4 ext vim6",
-               '^\\'=>'^\\',
-
-               '^a' => "g4 ext vim6",
-               '^b' => "no 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' => 'g4 arg ext vim6',
-               '^s' => "=^s",
-               '^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"=> 'g6 modei',
-
-               'k' => 'g2',
-               'j' => 'g2',
-               'u' => 'g4',
-               # other keys (even esc) are not recognized
-       }, # mode i ^g
-
-       'i^x' => {
-               lead => "x̂",
-
-               "\e" => "g7 mode", # yes, it really leaves insert mode
-
-               '^['=> "=\e",
-               '^]' => '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' => 'g4',
-               '^u' => 'g4 ext vim7 new',
-               '^v' => 'g4',
-               '^y' => "g3",
-       }, # mode i ^x
-
-       # XXX ex mode if you want to go completely wild
-}
index 2457fdb..e25b176 100644 (file)
@@ -150,5 +150,164 @@ flag => {
        args => ["key<args>" => "Commands with two dots require variable arguments afterwards."],
 },
 
-def => do 'vimperator.inc.pl',
+def => {
+       '' => {
+               '~' => 'g5',
+               '@' => 'g7 arg',
+               '^' => 'g2',
+               '0' => '=^',
+               '$' => 'g2',
+               '#' => 'g2',
+               '*' => 'g2',
+               '+' => '=zi',
+               '-' => '=zo',
+               '^^'=> 'g3',
+               '?' => 'g2 args modec',
+               '/' => 'g2 args modec',
+               '[' => 'g9 arg mode[',
+               ']' => 'g9 arg mode]',
+               ':' => 'g7 args',
+               ';' => 'g9 arg args mode;',
+               "'" => 'g2',
+               '`' => "='",
+               '|' => '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' => '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' => 'g5',
+               'P' => 'g6',
+               '^p'=> '=gT',
+               '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' => 'g1 modez arg',
+               'Z' => 'g9 modeZ arg',
+               '^z'=> 'g8',
+       }, # normal mode
+
+       g => {
+               lead => 'g',
+
+               '0' => 'g3',
+               '$' => 'g3',
+               '^' => '=g0',
+
+               '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 => ';',
+
+               ';' => 'g2',
+               '?' => 'g1',
+               'a' => 'g7 args',
+               'b' => 'g6 v2',
+               'c' => 'v2 v2.2',
+               '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' => 'g2',
+               ']' => 'g5',
+       }, # mode ]
+
+       '[' => {
+               lead => '[',
+
+               'f' => 'g2',
+               '[' => 'g5',
+       }, # mode [
+
+       z => {
+               lead => 'z',
+
+               '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' => 'g7',
+               'Z' => 'g7',
+       }, # mode Z
+},
 }
diff --git a/vimperator.inc.pl b/vimperator.inc.pl
deleted file mode 100644 (file)
index 7b1869d..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-use utf8;
-{
-
-       '' => {
-               '~' => 'g5',
-               '@' => 'g7 arg',
-               '^' => 'g2',
-               '0' => '=^',
-               '$' => 'g2',
-               '#' => 'g2',
-               '*' => 'g2',
-               '+' => '=zi',
-               '-' => '=zo',
-               '^^'=> 'g3',
-               '?' => 'g2 args modec',
-               '/' => 'g2 args modec',
-               '[' => 'g9 arg mode[',
-               ']' => 'g9 arg mode]',
-               ':' => 'g7 args',
-               ';' => 'g9 arg args mode;',
-               "'" => 'g2',
-               '`' => "='",
-               '|' => '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' => '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' => 'g5',
-               'P' => 'g6',
-               '^p'=> '=gT',
-               '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' => 'g1 modez arg',
-               'Z' => 'g9 modeZ arg',
-               '^z'=> 'g8',
-       }, # normal mode
-
-       g => {
-               lead => 'g',
-
-               '0' => 'g3',
-               '$' => 'g3',
-               '^' => '=g0',
-
-               '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 => ';',
-
-               ';' => 'g2',
-               '?' => 'g1',
-               'a' => 'g7 args',
-               'b' => 'g6 v2',
-               'c' => 'v2 v2.2',
-               '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' => 'g2',
-               ']' => 'g5',
-       }, # mode ]
-
-       '[' => {
-               lead => '[',
-
-               'f' => 'g2',
-               '[' => 'g5',
-       }, # mode [
-
-       z => {
-               lead => 'z',
-
-               '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' => 'g7',
-               'Z' => 'g7',
-       }, # mode Z
-
-}