7 'L' => "screen bottom",
9 'M' => "screen middle",
11 'n' => "search <down>",
19 ':' => "enter command",
20 ';' => "apply to tagged",
23 ']' => "half page <down>",
24 '[' => "half page <up>",
26 '!' => "invoke shell",
27 '/' => "search <down>",
34 'H' => 'g2', # top-page
35 'j' => 'g2', # next-entry, next-undeleted
36 'k' => 'g2', # previous-entry, previous-undeleted
37 'L' => 'g2', # bottom-page
38 '^l'=> 'g1', # refresh
39 'M' => 'g2', # middle-page
40 '^m'=> 'g6 mode^m', # select-entry, display-message
41 'n' => 'g3', # search-next
42 'q' => 'g8 mode', # exit
43 't' => 'g4', # tag-entry
44 'z' => 'g2', # next-page
45 'Z' => 'g2', # previous-page
47 '*' => 'g2', # last-entry
48 '=' => 'g2', # first-entry
49 ':' => 'g6', # enter-command
50 ';' => 'g6 arg', # tag-prefix
51 '>' => 'g2', # next-line
52 '<' => 'g2', # previous-line
53 ']' => 'g2', # half-down
54 '[' => 'g2', # half-up
56 '!' => 'g1 arg', # shell
57 '/' => 'g3 arg mode/~', # search
58 '+/'=> 'g3 arg mode/~', # search
65 "Cheat sheet for the Mutt v2.2 e-mail client,",
66 "showing the default binding for each key.",
68 keywords => [qw' mutt MUA email client '],
73 '@' => "display sender",
74 '.' => "list new mail",
75 '|' => "pipe to shell",
76 '$' => "save mailbox",
77 '#' => "split up thread",
78 '&' => "thread tagged",
79 '%' => "toggle reado<>nl<>y",
80 '-' => "collapse thread",
81 '_' => "collapse all",
82 "'" => "marked mes<>sag<>e",
85 'a' => "create alias",
88 '+b'=> "search bodies",
90 'C' => "copy messag<>e",
91 '+c'=> "open reado<>nly",
92 '+C'=> "make plain copy",
94 'D' => "delete patt<>er<>n",
95 '^d'=> "delete thread",
96 '+d'=> "delete subthread",
98 '^e'=> "edit con<>tent type",
99 '+e'=> "edit+send copy",
101 'F' => "toggle important",
102 '^f'=> "forget pass<>phras<>e",
103 'g' => "reply to all\nGroup reply",
104 'G' => "fetch POP\nGather new mail",
105 'h' => "toggle headers",
107 '^i'=> "unread msg <down>",
108 '+^i'=> "unread msg <up>",
109 'j' => "messag<>e <down>",
110 'k' => "messag<>e <up>",
113 '^k'=> "extract pub keys",
114 '+k'=> "send public key",
115 'l' => "limit pattern",
116 'L' => "reply to list",
117 '+l'=> "mlist actions",
118 #'+l'=> "show current limit",
119 'm' => "compo<>s<>e mail",
121 '^n'=> "thread <down>",
122 '+n'=> "subthr<>ead <down>",
124 'O' => "sort reverse",
127 '^p'=> "thread <up>",
128 '+p'=> "subthr<>ead <up>",
129 '+P'=> "check for pgp",
131 'Q' => "query addr<>ess<>es",
132 'r' => "reply to sender",
133 'R' => "recall postpon<>e<>d",
134 '^r'=> "mark thread read",
135 '+r'=> "mark sub<>thread r<>ead",
137 '+s'=> "save and delete",
138 'T' => "tag patt<>er<>n",
139 '^t'=> "untag pattern",
141 'u' => "undo delete",
142 'U' => "res<>tore pat<>t<>er<>n",
143 '^u'=> "restore thread",
144 '+u'=> "restore subthread",
145 'v' => "attach<>ments",
147 '+v'=> "(un)collapse thread",
148 '+V'=> "(un)collapse threads",
152 'y' => "list incoming mailboxes",
155 (map { 'm'.$_ => $commonkey{$_} } keys %commonkey),
157 'm|' => "pipe attach<>m<>ent",
158 'ma' => "attach file",
159 'mA' => "attach messag<>e",
164 'md' => "desc<>ribe attach<>m<>ent",
165 'mD' => "delete attach<>m<>ent",
166 'm^d'=> "dispo<>sition tog<>gle",
169 'm^e'=> "edit encoding",
171 'm^f'=> "forget pass<>phrase",
173 'mF' => "filter attach<>m<>ent",
174 'mG' => "get attach<>m<>ent",
175 'mh' => "display message",
176 'mi' => "run ispell",
177 'm+k'=> "attach PGP key",
178 'ml' => "print attach<>m<>ent",
179 'mm' => "edit attach<>m<>ent\nMime-appropriate open",
181 'm^m'=> "view attach<>m<>ent",
182 'mn' => "new attach<>m<>ent",
183 'mo' => "autocrypt toggle", #TODO
184 'm^o'=> "rename attach<>m<>ent",
186 'mP' => "post<>pone",
187 'mr' => "edit reply<>-to",
188 'mR' => "rename attach<>m<>ent",
189 'ms' => "edit subject",
190 'mS' => "s/mime options",
192 'mT' => "enter tags", #TODO
193 'm^t'=> "ctype attach<>m<>ent",
194 'mu' => "unlink toggle",
195 'mv' => "preview alt fil<>t<>er", # m+v mV
196 'mV' => "preview mailcap filter",
197 'mw' => "copy to folder",
198 'mU' => "encode attach<>m<>ent",
211 '/~B' => "whole msg",
212 '/~c' => "cc address",
213 '/~C' => "to or cc address",
214 '/~d' => "date sent ran<>g<>e",
221 '/~G' => "encryp<>ted",
223 '/~H' => "spam attr<>ib<>ute",
226 '/~L' => "receiv<>d by",
227 '/~l' => "mailing list",
228 '/~m' => "num<>ber ran<>g<>e",
229 '/~M' => "mime type",
230 '/~n' => "score range",
236 '/~r' => "receive date ran<>ge",
239 '/~S' => "super<>seded",
240 '/~t' => "to address",
242 '/~u' => "subscr<>ibed list",
244 '/~v' => "collapsed thread",
246 '/~x' => "refer<>ence",
247 '/~X' => "attach<>ments",
249 '/~z' => "size range",
250 '/~=' => "dupli<>cate",
251 '/~$' => "unrefer<>enced",
252 '/~(' => "in thread",
253 '/~<' => "parent match",
254 '/~>' => "child match",
256 # globally label escape as meta key
265 'm' => 'compose (m)',
266 w => 'message flags (w)',
267 '/~' => 'search patterns (/~)',
271 g1 => [aside => "Temporarily display something without changing state."],
272 g2 => [select => "Scroll list and/or select a different line."],
273 g3 => [search => "Go to a specific message entry."],
274 g4 => [edit => "Modify message flags or contents."],
275 g6 => [command => "Any other action which does not alter an existing message."],
276 g7 => [send => "Prepare and/or send a (new) message."],
277 g8 => [leave => "Exit the opened folder."],
278 g9 => [display => "Permanently alter/toggle current view."],
280 arg => ["key<arg>" => "Commands with a dot need an argument afterwards."],
287 '@' => 'g1', # display-address
288 '.' => 'g8', # buffy-list #TODO
289 '|' => 'g6', # pipe-message
290 '$' => 'g4', # sync-mailbox
291 '#' => 'g4', # break-thread
292 '&' => 'g4', # link-threads
293 '%' => 'g4', # toggle-write
296 '~' => 'g4 arg', # mark-message #TODO
300 'a' => 'g6', # create-alias
301 'b' => 'g7', # bounce-message
303 '+b'=> undef, # M <search>~b
304 'c' => 'g8', # change-folder
305 'C' => 'g6', # copy-message
306 '+c'=> 'g8', # change-folder-readonly
307 '+C'=> undef, # decode-copy
308 'd' => 'g4', # delete-message
309 'D' => 'g4 arg mode/~', # delete-pattern
310 '^d'=> 'g4', # delete-thread
311 '+d'=> 'g4', # delete-subthread
312 'e' => 'g4 linkvi', # edit
313 '^e'=> 'g4', # edit-type
314 '+e'=> undef, # resend-message
315 'f' => 'g7 modem', # forward-message
316 'F' => 'g4', # flag-message
317 '^f'=> 'g6', # forget-passphrase
318 'g' => 'g7 modem', # group-reply
319 'G' => 'g6', # fetch-mail
320 'h' => 'g9', # display-toggle-weed
321 'i' => 'g6', # imap-fetch-mail
322 '^i'=> 'g3', # next-new-then-unread
323 '+^i'=> undef, # previous-new-then-unread
324 'j' => 'g2', # next-undeleted
325 'k' => 'g2', # previous-undeleted
326 'J' => 'g3', # next-entry
327 'K' => 'g3', # previous-entry
328 '^k'=> 'g1', # extract-keys
329 '+k'=> 'g7 modem', # mail-key
330 'l' => 'g9 arg mode/~', # limit
331 'L' => 'g7 modem', # list-reply
332 '+l'=> 'g1', # list-actions/show-limit
333 'm' => 'g7 modem', # mail
334 'N' => 'g4', # toggle-new
335 '^n'=> 'g3', # next-thread
336 '+n'=> 'g3', # next-subthread
337 'o' => 'g9 modeo', # sort-mailbox
338 'O' => 'g9 modeo', # sort-reverse
339 'p' => 'g1', # print-message
340 'P' => 'g3', # parent-message
341 '^p'=> 'g3', # previous-thread
342 '+p'=> 'g3', # previous-subthread
343 '+P'=> undef, # check-traditional-pgp
345 'Q' => 'g1 arg', # query
346 'r' => 'g7 modem', # reply
347 'R' => 'g7 modem', # recall-message
348 '^r'=> 'g4', # read-thread
349 '+r'=> 'g4', # read-subthread
350 's' => 'g4', # save-message
351 '+s'=> 'g4', # decode-save
352 'T' => 'g4 arg mode/~', # tag-pattern
353 '^t'=> 'g4 arg mode/~', # untag-pattern
354 '+t'=> 'g4', # tag-thread
355 'u' => 'g4', # undelete-message
356 'U' => 'g4 arg mode/~', # undelete-pattern
357 '^u'=> 'g4', # undelete-thread
358 '+u'=> 'g4', # undelete-subthread
359 'v' => 'g1', # view-attachments
360 'V' => 'g1', # show-version
361 '+v'=> 'g9', # collapse-thread
362 '+V'=> 'g9', # collapse-all
363 'w' => 'g4 arg modew', # set-flag
364 'W' => 'g4 arg modew', # clear-flag
366 'y' => 'g8', # M <change-folder>?<toggle-mailboxes>
367 'Y' => 'g4 arg', # edit-label