Dies ist meine wahrscheinlich exzessive und suboptimale Lösung, da ich den idiomatischen Weg nicht finden konnte. Standardbefehle für jeden Befehl sind in Klammern angegeben.
Stellen Sie zunächst die Variable gnus-move-split-methods
ähnlich Ihrer nnmail-split-methods
Variablen ein. Beachten Sie, dass die Syntax in der 1 st variabel ist ("^From:.*eliezer" "mail.hpmor")
, während in der 2 nd Variable ist ("mail.hpmor" "^From:.*eliezer")
. Zum Beispiel mein gnus-move-split-methods
ist:
(setq gnus-move-split-methods '(("^Sender:.*abbie.*" "mail.abbie") ("" "mail.misc")))
Öffnen Sie die Gruppe und lassen Sie alle Artikel anzeigen. Rufen Sie gnus-summary-limit-to-headers
( / h) auf und geben Sie regex an (in meinem Beispiel "Sender:.*abbie"
), um nur die Artikel anzuzeigen, die Sie verschieben möchten.
Verwenden Sie Tastaturmakros, um das Verschieben zu erleichtern. Starten Sie macro by kmacro-start-macro
( C-x (), verschieben Sie dann Ihren ersten Artikel mit, wiederholen Sie das Makro by ( ) und geben Sie die Anzahl der Wiederholungen mit einem universellen Argument ( ) an.gnus-summary-move-article
B mkmacro-end-and-call-macro
C-x eC-u
Wenn Sie nicht wissen, wie oft Sie das Makro wiederholen sollen, können Sie die Anzahl der verbleibenden Artikel zählen, indem Sie all ( mark-whole-buffer
) auswählen und mit zählen count-words-region
. Verwenden Sie 0 nicht als Universalartikel, da er aus irgendeinem Grund nicht beendet wird. Denken Sie daran, dass E-Mails physisch von einem Ordner in einen anderen verschoben werden. Je nach Anzahl Ihrer E-Mails kann der Vorgang einige Zeit in Anspruch nehmen.
Wenn Sie nnml
als Mail-Backend verwenden, führen Sie run gnus-group-compact-group
( G z) für Ihre Gruppe aus, sodass Gnus Ihnen die korrekte Anzahl der Artikel angibt. Dies kann je nach Anzahl der E-Mails auch einige Zeit dauern.
Anmerkungen:
- Wie Sie sehen,
gnus-move-split-methods
ist die in der Eingabeaufforderung vorgeschlagene Standardgruppe korrekt, da Sie beim Verschieben des Artikels festlegen . gnus-summary-toggle-header
( t) ist hilfreich, um herauszufinden, mit welchem Header Sie filtern müssen.- Manchmal gibt es keine
Sender:
Kopfzeile, also benutze ich auchCc:.*abbie
Regex. Möglicherweise sehen Sie, dass Header häufig inkonsistent sind. Seien Sie also vorsichtig.