mutt: збереження повідомлення до певної папки


15

У мене в 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, я опиняюся в пейджері поточного повідомлення.

Аналогічним чином я намагаюся реалізувати trashпапку в mutt. Далі взято з 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):

що коли-небудь натискаю, нічого не відбувається (папки сміття / {cur, new, tmp} існують)


Це дивовижно, що <sync-mailbox>, здається, нічого не робить. Якщо ви використовуєте звичайну команду delete ( d), а повідомлення залишаються в індексі, позначеним як видалене, що відбувається при натисканні $(для якого за замовчуванням прив'язка <sync-mailbox>)?
ewhac

коли я натискаю, $бант запитує мене Purge 1 deleted message?. Я можу натиснути, Yякий видалить повідомлення.
user1968963

Виникає думка: <sync-mailbox>Команда очікує введення користувача ( y), але бачить негайно наступне, :а потім очищення не відбудеться. Цікаво, що може статися, якщо ти поставиш yза ним ...
ewhac

Відповіді:


17

позначена тегами:

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, застосує макрос до тегів повідомлень, якщо вони наявні, інакше до поточного обраного.


коли я додаю ваш макрос і починаю mutt і pres S, mutt каже:nothing to do
user1968963

Ви tтрохи поштою?
Олексій

чудово, це працює. Як я можу змусити його працювати також над поточним повідомленням (не спочатку додаючи тег)?
user1968963

1
@ user1968963 див. оновлення.
Олексій

1
@ user1968963 можливо, використовуючи tag-prefix-cond для встановлення іншої команди / змінної (наскільки я розумію, виконується лише в тому випадку, якщо є позначена пошта), я спробую, але знадобиться певний час, повідомлять вас.
Олексій

3

У посібнику " mutt" є приклад макросу для вашого випадку використання:

макроіндекс <tag-prefix-cond> <save-message> = foo <enter> "Зберегти помічені теги (якщо такі є) до = foo"

Ви можете реалізувати це у вашому випадку так:

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

Якщо потрапити Shiftaабо в перегляд індексу, або в пейджер, це збереже повідомлення у вашій архіві архіву.


З цим рішенням є дві невеликі проблеми: 1) Я можу "зберегти" лише одне повідомлення за один раз. Я не можу позначити кілька повідомлень і зберегти їх у архіві. 2) коли я "зберігаю" повідомлення, воно все ще з’являється у папці "Вхідні", позначеною як видалене. Чи можна застосувати зміни негайно (щоб вони були негайно видалені з папки "Вхідні")?
user1968963
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.