mutt: simpan pesan ke folder tertentu

15

Saya memiliki beberapa folder yang didefinisikan dalam Mutt:

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

Saya dapat menyimpan (memindahkan) pesan ke arsip, dengan menekan sdan kemudian ?untuk melihat daftar folder, dan kemudian saya dapat memilih archivedari daftar.

Karena saya selalu ingin hanya menyimpan ke archivesaya ingin memiliki makro, sehingga menekan ssecara otomatis menyimpan pesan yang dipilih archive, tanpa meminta saya.

Adakah yang bisa membantu?

EDIT: Saya sekarang memiliki makro berikut, untuk menyimpan pesan ke folder "arsip" saya:

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

masalahnya adalah, pesan tetap dalam indeks ditandai sebagai dihapus. Mereka tidak "disinkronkan" dengan segera. Kedua, <enter>pada akhirnya bertindak sebagai <display-message>, sehingga ketika saya menekan S, saya berakhir di pager pesan saat ini.

Dengan cara yang sama, saya mencoba menerapkan trashfolder di mutt. Berikut ini diambil dari 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"'

tapi ini juga tidak berhasil. Mutt Insted bertanya kepada saya:

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):

apa pun yang saya tekan, tidak ada yang terjadi (folder trash / {cur, new, tmp} ada)

pengguna1968963
sumber
Ini membingungkan yang <sync-mailbox>sepertinya tidak melakukan apa-apa. Ketika Anda menggunakan perintah penghapusan normal ( d) dan pesan dibiarkan dalam indeks yang ditandai sebagai dihapus, apa yang terjadi ketika Anda menekan $(yang merupakan pengikatan default untuk <sync-mailbox>)?
ewhac
ketika saya menekan $mutt bertanya kepada saya Purge 1 deleted message?. Saya dapat menekan Yyang akan menghapus pesan.
user1968963
Suatu pemikiran terjadi: <sync-mailbox>Perintah mengharapkan input pengguna ( y), tetapi melihat langsung :sebagai gantinya, sehingga pembersihan tidak terjadi. Saya ingin tahu apa yang mungkin terjadi jika Anda ymengikutinya ...
ewhac

Jawaban:

17

email yang ditandai:

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"

hanya saat ini:

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

sunting

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

Kesalahan saya, menggunakan tag-prefixalih-alih tag-prefix-cond, akan menerapkan makro untuk menandai pesan jika ada, jika tidak untuk yang sekarang dipilih.

Alex
sumber
ketika saya menambahkan makro Anda dan mulai mutt dan pres S, mutt mengatakan:nothing to do
user1968963
Apakah Anda tmengirim surat?
Alex
bagus, itu berhasil. Bagaimana saya bisa membuatnya berfungsi pada pesan saat ini juga (tanpa harus menandai dulu)?
user1968963
1
@ user1968963 lihat pembaruan.
Alex
1
@ user1968963 mungkin menggunakan tag-prefix-cond untuk menetapkan perintah / variabel yang berbeda (untuk pemahaman saya dieksekusi hanya jika ada surat yang ditandai), saya akan mencoba tetapi akan membutuhkan waktu, akan memberi tahu Anda.
Alex
3

The panduan mutt memiliki contoh makro untuk kasus penggunaan Anda:

indeks makro <tag-prefix-cond> <save-message> = foo <enter> "Simpan pesan yang ditandai (jika ada) ke = foo"

Anda bisa menerapkannya dalam kasus Anda seperti:

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

Memukul Shiftabaik dalam tampilan indeks atau pager akan menyimpan pesan ke maildir arsip Anda.

jasonwryan
sumber
ada dua masalah kecil dengan solusi ini: 1) Saya hanya bisa "menyimpan" satu pesan sekaligus. Saya tidak dapat menandai beberapa pesan dan menyimpan semuanya untuk diarsipkan. 2) ketika saya "menyimpan" pesan, pesan itu masih muncul di kotak masuk yang ditandai sebagai dihapus. Apakah mungkin untuk segera menerapkan perubahan (sehingga dihapus langsung dari kotak masuk)?
user1968963