mutt: Nachricht in einem bestimmten Ordner speichern

15

Ich habe mehrere Ordner in Mutt definiert:

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

Ich kann speichern (move) eine Nachricht zu archivieren, indem Sie sund dann ?eine Liste der Ordner zu sehen, und dann kann ich wählen archiveaus der Liste.

Da ich immer nur speichern archivemöchte, hätte ich gerne ein Makro, damit das Drücken von sautomatisch die ausgewählte Nachricht speichert archive, ohne mich zu fragen.

Kann jemand bitte helfen?

BEARBEITEN: Ich habe jetzt folgendes Makro, um Nachrichten in meinem "Archiv" -Ordner zu speichern:

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

Das Problem ist, dass die Nachrichten im Index bleiben und als gelöscht markiert sind. Sie werden nicht sofort "synchronisiert". Zweitens verhält sich das <enter>am Ende so <display-message>, dass ich beim Drücken Svon im Pager der aktuellen Nachricht lande.

In ähnlicher Weise versuche ich, den trashOrdner in Mutt zu implementieren . Das Folgende stammt aus den 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"'

aber das geht auch nicht. Insted Köter fragt mich:

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

Was auch immer ich drücke, nichts passiert (die Ordner Papierkorb / {cur, new, tmp} existieren)

user1968963
quelle
Es ist rätselhaft, dass <sync-mailbox>nichts zu tun scheint. dWas passiert, wenn Sie den normalen Löschbefehl ( ) verwenden und Nachrichten im Index als gelöscht markiert werden $(was ist die Standardbindung für <sync-mailbox>)?
ewhac
wenn ich drücke, $fragt mich mutt Purge 1 deleted message?. Ich kann drücken Y, um die Nachricht zu löschen.
user1968963
Ein Gedanke tritt auf: Der <sync-mailbox>Befehl erwartet Benutzereingaben ( y), sieht jedoch :stattdessen die unmittelbar folgenden , sodass die Bereinigung nicht erfolgt. Ich frage mich, was passieren könnte, wenn Sie ein y
hinterher

Antworten:

17

getaggte Mails:

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"

nur aktuell:

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

bearbeiten

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

Mein Fehler, der tag-prefixanstelle von verwendet tag-prefix-condwird, wendet das Makro auf markierte Nachrichten an, sofern vorhanden, ansonsten auf die aktuell ausgewählte.

Alex
quelle
Wenn ich dein Makro hinzufüge und mutt und pres Snothing to do
starte
Hast du teine Mail?
Alex
großartig, es funktioniert. Wie kann ich die aktuelle Nachricht auch bearbeiten (ohne sie zuerst markieren zu müssen)?
user1968963
1
@ user1968963 siehe das Update.
Alex
1
@ user1968963 Verwenden Sie möglicherweise tag-prefix-cond, um einen anderen Befehl / eine andere Variable festzulegen (wird meines Erachtens nur ausgeführt, wenn E-Mails mit Tags vorhanden sind). Ich werde es versuchen, aber einige Zeit in Anspruch nehmen.
Alex
3

Die Mutt-Anleitung enthält ein Beispielmakro für Ihren Anwendungsfall:

Makro-Index <Tag-Präfix-Bedingung> <Nachricht speichern> = foo <Eingabe> "Gegebenenfalls markierte Nachrichten speichern unter = foo"

Sie könnten es in Ihrem Fall so implementieren:

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

Wenn Sie Shiftaentweder in der Index- oder der Pager-Ansicht drücken, wird die Nachricht in Ihrem Archiv gespeichert.

jasonwryan
quelle
Es gibt zwei kleine Probleme mit dieser Lösung: 1) Ich kann jeweils nur eine Nachricht "speichern". Ich kann nicht mehrere Nachrichten markieren und alle im Archiv speichern. 2) Wenn ich eine Nachricht "speichere", wird sie weiterhin im Posteingang als gelöscht markiert. Ist es möglich, die Änderungen sofort zu übernehmen (damit sie sofort aus dem Posteingang gelöscht werden)?
user1968963