Переместить существующие статьи в другую группу в Gnus
Я настроил nnmail-split-methods
чтобы отделить почту из моего списка рассылки от всего остального:
(setq nnmail-split-methods '(("vladimir.lenin" "From:.*vladimir\.lenin")
("mail.misc" "")))
Новая почта теперь появится в vladimir.lenin
группа, но уже существующие останутся в mail.misc
, Как быстро переместить все статьи, соответствующие регулярному выражению, из одной группы в другую?
2 ответа
Это мое, вероятно, избыточное и неоптимальное решение, так как я не мог найти идиоматический способ. Назначения клавиш по умолчанию для каждой команды приведены в скобках.
Прежде всего, установите переменную gnus-move-split-methods
похож на ваш nnmail-split-methods
переменная. Обратите внимание, что синтаксис в 1- й переменной ("^From:.*eliezer" "mail.hpmor")
в то время как во 2- й переменной ("mail.hpmor" "^From:.*eliezer")
, Например, мой gnus-move-split-methods
является:
(setq gnus-move-split-methods
'(("^Sender:.*abbie.*" "mail.abbie")
("" "mail.misc")))
Откройте группу и заставьте ее показывать все статьи. Вызов gnus-summary-limit-to-headers
(/ h) и укажите регулярное выражение (в моем примере "Sender:.*abbie"
) показывать только те статьи, которые вы хотите переместить.
Используйте макросы клавиатуры для облегчения перемещения, запустите макрос kmacro-start-macro
(Cx (), затем переместите первую статью с помощью gnus-summary-move-article
B m, затем повторите макрос kmacro-end-and-call-macro
(Cx e) и укажите количество повторений с универсальным аргументом (Cu).
Если вы не знаете, сколько раз вы должны повторить макрос, вы можете подсчитать количество оставшихся статей, выбрав все (mark-whole-buffer
) и считая с count-words-region
, Не используйте 0 как универсальную статью, так как по некоторым причинам она не закончится. Помните, что, поскольку почта физически перемещается из одной папки в другую, вся операция может занять время, в зависимости от того, сколько почты у вас есть.
Если вы используете nnml
в качестве почтового сервера запускаем gnus-group-compact-group
(G z) в вашей группе, так что Gnus даст вам правильное количество статей. Это также может занять время в зависимости от количества почты.
Заметки:
- Как видите, потому что вы установили
gnus-move-split-methods
при перемещении статьи предложенная в приглашении группа по умолчанию является правильной. gnus-summary-toggle-header
(t) полезно, чтобы найти, какой заголовок вам нужно отфильтровать.- Иногда нет
Sender:
заголовок, поэтому я используюCc:.*abbie
регулярное выражение тоже. Вы можете заметить, что заголовки часто несовместимы, поэтому будьте осторожны.
Из сводного буфераmail.misc group
, ограничьте просмотр статьями, автором которых является "владимир.ленин" (gnus-summary-limit-to-author
), затем отметьте их все для обработки (gnus-uu-mark-all
), а затем переместите все отмеченные статьи в папкуvladimir.lenin
группа (gnus-summary-move-article
). Полная последовательность клавиш выглядит следующим образом:
/ a vladimir\.lenin RET M P a B m vladimir.lenin RET / w