keys: indent key definition includes
authorMischa POSLAWSKY <perl@shiar.org>
Sun, 18 Jun 2017 10:54:16 +0000 (12:54 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 17 Jul 2017 15:13:43 +0000 (17:13 +0200)
Prepare for upcoming move so lines remain unchanged.

less.inc.pl
mplayer.inc.pl
mutt.inc.pl
nethack.inc.pl
readline.inc.pl
screen.inc.pl
vi.inc.pl
vimperator.inc.pl

index acbddc4..8480d8c 100644 (file)
 use utf8;
 { # less v418
 
-'' => {
-       "\e"=> 'g7 mode^[',
+       '' => {
+               "\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',
+               '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',
+               '!' => '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',
-},
+               '(' => 'g4',
+               '<' => '=g',
+               '>' => '=G',
+       },
 
-'^[' => { # esc
-       "\e"=> 'g7 mode',
-       'n' => 'g4',
-       'N' => 'g4',
-       'u' => 'g1',
-       'v' => '=b',
-       '(' => 'g2',
-       ')' => 'g2',
-       '<' => '=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',
-#},
+       #'^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',
+               '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',
-},
+       '-' => {
+               "\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 2431fdd..94769c4 100644 (file)
@@ -1,57 +1,57 @@
 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',
-},
+       '' => {
+               "\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 94a3f5c..adc299f 100644 (file)
@@ -32,185 +32,185 @@ my %common = (
 
 {
 
-'' => {
-       %common,
+       '' => {
+               %common,
 
-       '@' => 'g1', # display-address
-       '.' => 'g8', # buffy-list #TODO
-       '|' => 'g6', # pipe-message
-       '$' => 'g4', # sync-mailbox
-       '#' => 'g4', # break-thread
-       '&' => 'g4', # link-threads
-       '%' => 'g4', # toggle-write
-       ' ' => '=^m',
+               '@' => '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
+               '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,
+       '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
+               '|' => '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
+       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
+       '/~' => {
+               "\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 466cf0c..6123394 100644 (file)
 use utf8;
 {
 
-'' => {
-       'b' => 'g2',
-       'j' => 'g2',
-       'n' => 'g2',
-       'h' => 'g2',
-       'l' => 'g2',
-       'y' => 'g2',
-       'k' => 'g2',
-       'u' => 'g2',
+       '' => {
+               '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',
 
-       '^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',
+               '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
+               '?' => '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
+               '+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',
-},
+               ':' => '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',
-},
+       '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',
-},
+       'I' => {
+               '*' => 'g6',
+               'u' => 'g6',
+               'x' => 'g6',
+               '$' => 'g6',
+       },
 
 }
index d017175..a9f5d03 100644 (file)
 use utf8;
 {
 
-'' => {
-       "\e" => 'g8',
+       '' => {
+               "\e" => 'g8',
 
-       '+<' => 'g4',
-       '+=' => '=+?', #TODO: new # emacs, not in v2.0
-       '+>' => 'g4',
-       '^?' => '=^h',
-       '+?' => 'g1',
-       '^@' => 'g8 new', # not in v2.0
+               '+<' => '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
+               '+#' => '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',
-       '+_' => '=+.',
+               '^[' => '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',
+               '+~' => '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',
-},
+               '^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̂",
+       '^x' => {
+               lead => "x̂",
 
-       "\e" => 'g8 mode',
+               "\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',
-},
+               '('  => '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 84d2dea..6054967 100644 (file)
@@ -1,88 +1,88 @@
 use utf8;
 {
 
-# screen version 4.00.03jw4
+       # 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',
+       '' => {
+               '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',
-},
+               "'" => '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 213c85d..7654d94 100644 (file)
--- a/vi.inc.pl
+++ b/vi.inc.pl
 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
+       '' => {
+               '~' => "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 ae80cf5..7b1869d 100644 (file)
 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
+       '' => {
+               '~' => '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
 
 }