use utf8;
-my %commonkey = (
- 'H' => "screen top",
- 'j' => "entry <down>",
- 'k' => "entry <up>",
- 'L' => "screen bottom",
- '^l'=> "redraw",
- 'M' => "screen middle",
- '^m'=> "select",
- 'n' => "search <down>",
- 'q' => "exit",
- 't' => "tag",
- 'z' => "page <down>",
- 'Z' => "page <up>",
-
- '*' => "last entry",
- '=' => "first entry",
- ':' => "enter command",
- ';' => "apply to tagged",
- '>' => "line <down>",
- '<' => "line <up>",
- ']' => "half page <down>",
- '[' => "half page <up>",
- '?' => "help",
- '!' => "invoke shell",
- '/' => "search <down>",
- '+/'=> "search <up>",
-);
+my $esc = ['g9 mode', '+']; # globally label escape as meta key
my %commondef = (
- "\e"=> 'g9 mode',
+ "\e"=> $esc,
- '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
+ 'H' => ['g2', "screen top"], # top-page
+ 'j' => ['g2', "entry <down>"], # next-entry, next-undeleted
+ 'k' => ['g2', "entry <up>"], # previous-entry, previous-undeleted
+ 'L' => ['g2', "screen bottom"], # bottom-page
+ '^l'=> ['g1', "redraw"], # refresh
+ 'M' => ['g2', "screen middle"], # middle-page
+ '^m'=> ['g6 mode^m', "select"], # select-entry, display-message
+ 'n' => ['g3', "search <down>"], # search-next
+ 'q' => ['g8 mode', "exit"], # exit
+ 't' => ['g4', "tag"], # tag-entry
+ 'z' => ['g2', "page <down>"], # next-page
+ 'Z' => ['g2', "page <up>"], # 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
+ '*' => ['g2', "last entry"], # last-entry
+ '=' => ['g2', "first entry"], # first-entry
+ ':' => ['g6', "enter command"], # enter-command
+ ';' => ['g6 arg', "apply to tagged"], # tag-prefix
+ '>' => ['g2', "line <down>"], # next-line
+ '<' => ['g2', "line <up>"], # previous-line
+ ']' => ['g2', "half page <down>"], # half-down
+ '[' => ['g2', "half page <up>"], # half-up
+ '?' => ['g1', "help"], # help
+ '!' => ['g1 arg', "invoke shell"], # shell
+ '/' => ['g3 arg mode/~', "search <down>"], # search
+ '+/'=> ['g3 arg mode/~', "search <up>"], # search
);
{
title => 'Mutt',
-version => '1.2',
+version => '1.3',
description => [
- "Cheat sheet for the Mutt e-mail client,",
+ "Cheat sheet for the Mutt v2.2 e-mail client,",
"showing the default binding for each key.",
],
keywords => [qw' mutt MUA email client '],
-key => {
- %commonkey,
-
- '@' => "display sender",
- '.' => "list new mail",
- '|' => "pipe to shell",
- '$' => "save mailbox",
- '#' => "split up thread",
- '&' => "thread tagged",
- '%' => "toggle reado<>nl<>y",
-
- 'a' => "create alias",
- 'b' => "bounce",
- '^b'=> "url<>view",
- '+b'=> "search bodies",
- 'c' => "open folder",
- 'C' => "copy messag<>e",
- '+c'=> "open reado<>nly",
- '+C'=> "make plain copy",
- 'd' => "delete",
- 'D' => "delete patt<>er<>n",
- '^d'=> "delete thread",
- '+d'=> "delete subthread",
- 'e' => "edit",
- '^e'=> "edit con<>tent type",
- '+e'=> "edit+send copy",
- 'f' => "forward",
- 'F' => "toggle important",
- '^f'=> "forget pass<>phras<>e",
- 'g' => "reply to all\nGroup reply",
- 'G' => "fetch POP\nGather new mail",
- 'h' => "toggle headers",
- '^i'=> "unread msg <down>",
- '+^i'=> "unread msg <up>",
- 'j' => "messag<>e <down>",
- 'k' => "messag<>e <up>",
- 'J' => "any <down>",
- 'K' => "any <up>",
- '^k'=> "extract pub keys",
- '+k'=> "send public key",
- 'l' => "limit pattern",
- 'L' => "reply to list",
- '+l'=> "show current limit",
- 'm' => "compo<>s<>e mail",
- 'N' => "toggle new",
- '^n'=> "thread <down>",
- '+n'=> "subthr<>ead <down>",
- 'o' => "sort",
- 'O' => "sort reverse",
- 'p' => "print",
- 'P' => "to parent",
- '^p'=> "thread <up>",
- '+p'=> "subthr<>ead <up>",
- '+P'=> "check for pgp",
- 'q' => "quit",
- 'Q' => "query addr<>ess<>es",
- 'r' => "reply to sender",
- 'R' => "recall postpon<>e<>d",
- '^r'=> "mark thread read",
- '+r'=> "mark sub<>thread r<>ead",
- 's' => "move",
- '+s'=> "save and delete",
- 'T' => "tag patt<>er<>n",
- '^t'=> "untag pattern",
- '+t'=> "tag thread",
- 'u' => "undo delete",
- 'U' => "res<>tore pat<>t<>er<>n",
- '^u'=> "restore thread",
- '+u'=> "restore subthread",
- 'v' => "attach<>ments",
- 'V' => "version",
- '+v'=> "(un)collapse thread",
- '+V'=> "(un)collapse threads",
- 'w' => "set flag",
- 'W' => "clear flag",
- 'x' => "abort",
- 'y' => "list incoming mailboxes",
-
- (map { 'm'.$_ => $commonkey{$_} } keys %commonkey),
-
- 'm|' => "pipe attach<>m<>ent",
- 'ma' => "attach file",
- 'mA' => "attach messag<>e",
- 'mb' => "edit bcc",
- 'mc' => "edit cc",
- 'mC' => "copy file",
- 'md' => "desc<>ribe attach<>m<>ent",
- 'mD' => "delete attach<>m<>ent",
- 'm^d'=> "dispo<>sition tog<>gle",
- 'me' => "edit body",
- 'mE' => "edit all",
- 'm^e'=> "edit encoding",
- 'mf' => "edit fcc",
- 'm^f'=> "forget pass<>phrase",
- 'm+f'=> "edit from",
- 'mF' => "filter attach<>m<>ent",
- 'mG' => "get attach<>m<>ent",
- 'mh' => "display message",
- 'mi' => "run ispell",
- 'ml' => "print attach<>m<>ent",
- 'mm' => "edit attach<>m<>ent\nMime-appropriate open",
- 'mM' => "edit mix",
- 'm^m'=> "view attach<>m<>ent",
- 'mn' => "new attach<>m<>ent",
- 'mP' => "post<>pone",
- 'mr' => "edit reply<>-to",
- 'mR' => "rename attach<>m<>ent",
- 'ms' => "edit subject",
- 'mS' => "s/mime options",
- 'mt' => "edit to",
- 'm^t'=> "ctype attach<>m<>ent",
- 'mw' => "copy to folder",
- 'mu' => "unlink toggle",
- 'mU' => "encode attach<>m<>ent",
- 'my' => "send",
-
- 'wD' => "deleted",
- 'wN' => "new",
- 'wO' => "old",
- 'wr' => "replied",
- 'w*' => "tagged",
- 'w!' => "flagged",
-
- '/~A' => "all",
- '/~b' => "msg body",
- '/~B' => "whole msg",
- '/~c' => "cc address",
- '/~C' => "to or cc address",
- '/~d' => "date sent ran<>g<>e",
- '/~D' => "deleted",
- '/~e' => "sender",
- '/~E' => "expired",
- '/~f' => "from",
- '/~F' => "flagged",
- '/~g' => "signed",
- '/~G' => "encryp<>ted",
- '/~h' => "header",
- '/~H' => "spam attr<>ib<>ute",
- '/~i' => "msg id",
- '/~k' => "pgp key",
- '/~L' => "receiv<>d by",
- '/~l' => "mailing list",
- '/~m' => "num<>ber ran<>g<>e",
- '/~n' => "score range",
- '/~N' => "new",
- '/~O' => "old",
- '/~p' => "to you",
- '/~P' => "by you",
- '/~Q' => "replies",
- '/~r' => "receive date ran<>ge",
- '/~R' => "read",
- '/~s' => "subject",
- '/~S' => "super<>seded",
- '/~t' => "to address",
- '/~T' => "tagged",
- '/~u' => "subscr<>ibed list",
- '/~U' => "unread",
- '/~v' => "collapsed thread",
- '/~V' => "verified",
- '/~x' => "refer<>ence",
- '/~X' => "attach<>ments",
- '/~y' => "x-label",
- '/~z' => "size range",
- '/~=' => "dupli<>cate",
- '/~$' => "unrefer<>enced",
- '/~(' => "in thread",
-
- # globally label escape as meta key
- "\e"=> "+",
- "m\e"=> "+",
- "w\e"=> "+",
- "/~\e"=> "+",
-},
-
mode => {
'' => 'index',
'm' => 'compose (m)',
w => 'message flags (w)',
- '/~' => 'search flags (/~)',
+ '/~' => 'search patterns (/~)',
},
flag => {
'' => {
%commondef,
- '@' => '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 sender"], # display-address
+ '.' => ['g8', "list new mail"], # buffy-list #TODO
+ '|' => ['g6', "pipe to shell"], # pipe-message
+ '$' => ['g4', "save mailbox"], # sync-mailbox
+ '#' => ['g4', "split up thread"], # break-thread
+ '&' => ['g4', "thread tagged"], # link-threads
+ '%' => ['g4', "toggle reado<>nl<>y"], # toggle-write
+ '-' => ['g9', "collapse thread"],
+ '_' => ['g9', "collapse all"],
+ '~' => ['g4 arg', "save mark"], # mark-message #TODO
+ "'" => ['g3 arg', "marked mes<>sag<>e"],
+ ' ' => \'^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>
+ 'a' => ['g6', "create alias"], # create-alias
+ 'b' => ['g7', "bounce"], # bounce-message
+ '^b'=> ['g1', "url<>view"],
+ '+b'=> [undef, "search bodies"], # M <search>~b
+ 'c' => ['g8', "open folder"], # change-folder
+ 'C' => ['g6', "copy messag<>e"], # copy-message
+ '+c'=> ['g8', "open reado<>nly"], # change-folder-readonly
+ '+C'=> [undef, "make plain copy"], # decode-copy
+ 'd' => ['g4', "delete"], # delete-message
+ 'D' => ['g4 arg mode/~', "delete patt<>er<>n"], # delete-pattern
+ '^d'=> ['g4', "delete thread"], # delete-thread
+ '+d'=> ['g4', "delete subthread"], # delete-subthread
+ 'e' => ['g4 linkvi', "edit"], # edit
+ '^e'=> ['g4', "edit con<>tent type"], # edit-type
+ '+e'=> [undef, "edit+send copy"], # resend-message
+ 'f' => ['g7 modem', "forward"], # forward-message
+ 'F' => ['g4', "toggle important"], # flag-message
+ '^f'=> ['g6', "forget pass<>phras<>e"], # forget-passphrase
+ 'g' => ['g7 modem', "reply to all\nGroup reply"], # group-reply
+ 'G' => ['g6', "fetch POP\nGather new mail"], # fetch-mail
+ 'i' => ['g6', "fetch IMAP"], # imap-fetch-mail
+ '^i'=> ['g3', "unread msg <down>"], # next-new-then-unread
+ '+^i'=> [undef, "unread msg <up>"], # previous-new-then-unread
+ 'j' => ['g2', "messag<>e <down>"], # next-undeleted
+ 'k' => ['g2', "messag<>e <up>"], # previous-undeleted
+ 'J' => ['g3', "any <down>"], # next-entry
+ 'K' => ['g3', "any <up>"], # previous-entry
+ '^k'=> ['g1', "extract pub keys"], # extract-keys
+ '+k'=> ['g7 modem', "send public key"], # mail-key
+ 'l' => ['g9 arg mode/~', "limit pattern"], # limit
+ 'L' => ['g7 modem', "reply to list"], # list-reply
+ '+l'=> ['g1', "mlist actions"], # list-actions/show-limit
+ #'+l'=> [, "show current limit"],
+ 'm' => ['g7 modem', "compo<>s<>e mail"], # mail
+ 'N' => ['g4', "toggle new"], # toggle-new
+ '^n'=> ['g3', "thread <down>"], # next-thread
+ '+n'=> ['g3', "subthr<>ead <down>"], # next-subthread
+ 'o' => ['g9 modeo', "sort"], # sort-mailbox
+ 'O' => ['g9 modeo', "sort reverse"], # sort-reverse
+ 'p' => ['g1', "print"], # print-message
+ 'P' => ['g3', "to parent"], # parent-message
+ '^p'=> ['g3', "thread <up>"], # previous-thread
+ '+p'=> ['g3', "subthr<>ead <up>"], # previous-subthread
+ '+P'=> [undef, "check for pgp"], # check-traditional-pgp
+ 'q' => ['g8', "quit"], # quit
+ 'Q' => ['g1 arg', "query addr<>ess<>es"], # query
+ 'r' => ['g7 modem', "reply to sender"], # reply
+ 'R' => ['g7 modem', "recall postpon<>e<>d"], # recall-message
+ '^r'=> ['g4', "mark thread read"], # read-thread
+ '+r'=> ['g4', "mark sub<>thread r<>ead"], # read-subthread
+ 's' => ['g4', "move"], # save-message
+ '+s'=> ['g4', "save and delete"], # decode-save
+ 'T' => ['g4 arg mode/~', "tag patt<>er<>n"], # tag-pattern
+ '^t'=> ['g4 arg mode/~', "untag pattern"], # untag-pattern
+ '+t'=> ['g4', "tag thread"], # tag-thread
+ 'u' => ['g4', "undo delete"], # undelete-message
+ 'U' => ['g4 arg mode/~', "res<>tore pat<>t<>er<>n"], # undelete-pattern
+ '^u'=> ['g4', "restore thread"], # undelete-thread
+ '+u'=> ['g4', "restore subthread"], # undelete-subthread
+ 'v' => ['g1', "attach<>ments"], # view-attachments
+ 'V' => ['g1', "version"], # show-version
+ '+v'=> ['g9', "(un)collapse thread"], # collapse-thread
+ '+V'=> ['g9', "(un)collapse threads"], # collapse-all
+ 'w' => ['g4 arg modew', "set flag"], # set-flag
+ 'W' => ['g4 arg modew', "clear flag"], # clear-flag
+ 'x' => ['g8', "abort"], # exit
+ 'y' => ['g8', "list incoming mailboxes"], # M <change-folder>?<toggle-mailboxes>
+ 'Y' => ['g4 arg', "edit label"], # edit-label
}, # 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',
+ '|' => ['g4', "pipe attach<>m<>ent"],
+ 'a' => ['g4', "attach file"],
+ 'A' => ['g4', "attach messag<>e"],
+ 'b' => ['g4', "edit bcc"],
+ '^b'=> ['g1', "url<>view"],
+ 'c' => ['g4', "edit cc"],
+ 'C' => ['g6', "copy file"],
+ 'd' => ['g4', "desc<>ribe attach<>m<>ent"],
+ 'D' => ['g4', "delete attach<>m<>ent"],
+ '^d'=> ['g4', "dispo<>sition tog<>gle"],
+ 'e' => ['g4 linkvi', "edit body"],
+ 'E' => ['g4 linkvi', "edit all"],
+ '^e'=> ['g4', "edit encoding"],
+ 'f' => ['g4', "edit fcc"],
+ '^f'=> ['g6', "forget pass<>phrase"],
+ '+f'=> ['g4', "edit from"],
+ 'F' => ['g4', "filter attach<>m<>ent"],
+ 'G' => ['g1', "get attach<>m<>ent"],
+ 'h' => ['g1', "display message"],
+ 'i' => ['g6', "run ispell"],
+ '+k'=> ['g4', "attach PGP key"],
+ 'l' => ['g1', "print attach<>m<>ent"],
+ 'm' => ['g4', "edit attach<>m<>ent\nMime-appropriate open"],
+ 'M' => ['g4', "edit mix"],
+ '^m'=> ['g1', "view attach<>m<>ent"],
+ 'n' => ['g6', "new attach<>m<>ent"],
+ 'o' => ['g4 ext', "autocrypt toggle"], #TODO
+ '^o'=> ['g4', "rename attach<>m<>ent"],
+ 'p' => ['g1', "PGP menu"], #TODO
+ 'P' => ['g8 mode', "post<>pone"],
+ 'r' => ['g4', "edit reply<>-to"],
+ 'R' => ['g4', "rename attach<>m<>ent"],
+ 's' => ['g4', "edit subject"],
+ 'S' => ['g4 menumS', "s/mime options"],
+ 't' => ['g4', "edit to"],
+ 'T' => ['g4', "enter tags"], #TODO
+ '^t'=> ['g4', "ctype attach<>m<>ent"],
+ 'w' => ['g6', "copy to folder"],
+ 'u' => ['g6', "unlink toggle"],
+ 'v' => ['g1', "preview alt fil<>t<>er"], # m+v mV
+ '+v'=> 'g1',
+ 'V' => ['g1', "preview mailcap filter"],
+ 'U' => ['g4', "encode attach<>m<>ent"],
+ 'y' => ['g7', "send"],
+ # ^xe
}, # compose
w => {
- "\e"=> 'g9 mode',
- 'D' => 'g4',
- 'd' => '=wD',
- 'N' => 'g4',
- 'n' => '=wN',
- 'O' => 'g4',
- 'o' => '=wO',
- 'r' => 'g4',
- 'R' => '=wr',
- '*' => 'g4',
- '!' => 'g4',
+ "\e"=> $esc,
+ 'D' => ['g4', "deleted"],
+ 'd' => \'wD',
+ 'N' => ['g4', "new"],
+ 'n' => \'wN',
+ 'O' => ['g4', "old"],
+ 'o' => \'wO',
+ 'r' => ['g4', "replied"],
+ 'R' => \'wr',
+ '*' => ['g4', "tagged"],
+ '!' => ['g4', "flagged"],
}, # 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',
+ "\e"=> $esc,
+ 'A' => ['g3', => "all"],
+ 'b' => ['g3 arg', => "msg body"],
+ 'B' => ['g3 arg', => "whole msg"],
+ 'c' => ['g3 arg', => "cc address"],
+ 'C' => ['g3 arg', => "to or cc address"],
+ 'd' => ['g3 arg', => "date sent ran<>g<>e"],
+ 'D' => ['g3', => "deleted"],
+ 'e' => ['g3 arg', => "sender"],
+ 'E' => ['g3', => "expired"],
+ 'f' => ['g3 arg', => "from"],
+ 'F' => ['g3', => "flagged"],
+ 'g' => ['g3', => "signed"],
+ 'G' => ['g3', => "encryp<>ted"],
+ 'h' => ['g3 arg', => "header"],
+ 'H' => ['g3 arg', => "spam attr<>ib<>ute"],
+ 'i' => ['g3 arg', => "msg id"],
+ 'k' => ['g3', => "pgp key"],
+ 'L' => ['g3 arg', => "receiv<>d by"],
+ 'l' => ['g3', => "mailing list"],
+ 'm' => ['g3 arg', => "num<>ber ran<>g<>e"],
+ 'M' => ['g3 arg', => "mime type"],
+ 'n' => ['g3 arg', => "score range"],
+ 'N' => ['g3', => "new"],
+ 'O' => ['g3', => "old"],
+ 'p' => ['g3', => "to you"],
+ 'P' => ['g3', => "by you"],
+ 'Q' => ['g3', => "replies"],
+ 'r' => ['g3 arg', => "receive date ran<>ge"],
+ 'R' => ['g3', => "read"],
+ 's' => ['g3', => "subject"],
+ 'S' => ['g3', => "super<>seded"],
+ 't' => ['g3 arg', => "to address"],
+ 'T' => ['g3', => "tagged"],
+ 'u' => ['g3', => "subscr<>ibed list"],
+ 'U' => ['g3', => "unread"],
+ 'v' => ['g3', => "collapsed thread"],
+ 'V' => ['g3', => "verified"],
+ 'x' => ['g3 arg', => "refer<>ence"],
+ 'X' => ['g3 arg', => "attach<>ments"],
+ 'y' => ['g3 arg', => "x-label"],
+ 'z' => ['g3 arg', => "size range"],
+ '=' => ['g3', => "dupli<>cate"],
+ '$' => ['g3', => "unrefer<>enced"],
+ '(' => ['g3 arg', => "in thread"],
+ '<' => ['g3 arg', => "parent match"],
+ '>' => ['g3 arg', => "child match"],
}, # search option
},
}