web-dev-qa-db-ja.com

mutt:メッセージを特定のフォルダに保存します

Muttでいくつかのフォルダを定義しています:

mailboxes           "~/Mail/inbox"
mailboxes           "~/Mail/sent"
mailboxes           "~/Mail/archive"

sを押してから?を押してフォルダのリストを表示し、リストからarchiveを選択して、メッセージをアーカイブに保存(移動)できます。

常にarchiveにのみ保存した​​いので、マクロを使用したいので、sを押すと、選択したメッセージが自動的にarchiveに保存されます。

誰か助けてもらえますか?

EDIT:メッセージを「アーカイブ」フォルダに保存するために、次のマクロを用意しました。

macro index,pager S "<tag-prefix><save-message>=archive<enter>\
  :set delete=yes<enter><sync-mailbox>:set delete=no<enter>"

問題は、メッセージが削除済みとしてマークされたインデックスに残ることです。それらはすぐには「同期」されません。次に、末尾の<enter><display-message>として機能するため、Sを押すと、現在のメッセージのポケットベルが表示されます。

同様に、muttにtrashフォルダーを実装しようとしています。以下は Mutt MacroSamples から取得されます

set maildir_trash=yes
set wait_key=no
folder-hook . 'bind index q quit'
folder-hook inbox 'macro index q ":unset maildir_trash;Push \"T~D\\n<tag-prefix-cond>m=trash\\n<end-cond><quit>\"\n"'

しかし、これも機能しません。 Insted muttは私に尋ねます:

Append messages to etmaildir_trash;Push"T~D\n<tag-prefix-cond>m=trash\n<end-cond><quit>"/maildir_trash;Push"T~D\n<tag-prefix-cond>m=trash\n<end-co ([yes]/no):

何を押しても何も起こりません(trash/{cur、new、tmp}フォルダーは存在します)

15
user1968963

タグ付きメール:

macro index S ":set confirmappend=no delete=yes\n<tag-prefix-cond><save-message>=archive\n<sync-mailbox>:set confirmappend=yes delete=ask-yes\n"

現在のみ:

macro index A ":set confirmappend=no delete=yes\n<save-message>=archive\n<sync-mailbox>:set confirmappend=yes delete=ask-yes\n"

編集

macro index S ":set confirmappend=no delete=yes\n<tag-prefix><save-message>=archive\n<sync-mailbox>:set confirmappend=yes delete=ask-yes\n"

私のせいで、tag-prefix の代わりに tag-prefix-cond、存在する場合はタグ付きメッセージにマクロを適用し、存在しない場合は現在選択されているメッセージに適用します。

18
Alex

muttガイドにはサンプルマクロがあります 使用例:

マクロインデックス<tag-prefix-cond> <save-message> = foo <enter> "タグ付きメッセージ(ある場合)を= fooに保存"

あなたはそれをあなたのケースに次のように実装することができます:

macro index,pager A  "<save-message>=Mail/archive<enter>"  "mark message as Archived"

ヒッティング Shifta インデックスまたはページャビューのいずれかでメッセージをアーカイブmaildirに保存します。

3
jasonwryan