mutt: zapisz wiadomość w określonym folderze

15

Mam kilka folderów zdefiniowanych w Mutt:

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

Mogę zapisać (przenieść) wiadomość do archiwizacji, naciskając przycisk, sa następnie, ?aby wyświetlić listę folderów, a następnie mogę wybrać archivez listy.

Ponieważ zawsze chcę tylko zapisywać archive, chciałbym mieć makro, aby naciśnięcie sautomatycznie zapisywało wybraną wiadomość archivebez pytania.

Czy ktoś może pomóc?

EDYCJA: Mam teraz następujące makro, aby zapisać wiadomości w moim folderze „archiwum”:

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

problem polega na tym, że wiadomości pozostają w indeksie oznaczone jako usunięte. Nie są one natychmiast „synchronizowane”. Po drugie, <enter>na końcu działa tak <display-message>, że kiedy naciskam S, kończę w pager bieżącej wiadomości.

W podobny sposób próbuję zaimplementować trashfolder w mutt. Poniższe fragmenty pochodzą z 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"'

ale to też nie działa. Insted mutt pyta mnie:

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

cokolwiek naciskam, nic się nie dzieje (foldery kosz / {cur, new, tmp} istnieją)

użytkownik1968963
źródło
To zagadkowe, które <sync-mailbox>wydaje się nic nie robić. Gdy użyjesz zwykłego polecenia usuwania ( d), a wiadomości pozostaną w indeksie oznaczonym jako usunięte, co się stanie po naciśnięciu $(co jest domyślnym powiązaniem <sync-mailbox>)?
ewhac
kiedy naciskam $ mutt pyta mnie Purge 1 deleted message?. Mogę nacisnąć przycisk, Yktóry usunie wiadomość.
user1968963,
Pojawia się myśl: <sync-mailbox>polecenie oczekuje od użytkownika danych wejściowych ( y), ale :zamiast tego wyświetla bezpośrednio następujące po nim , więc czyszczenie nie następuje. Zastanawiam się, co może się stać, jeśli postawisz ypo nim ...
ewhac

Odpowiedzi:

17

otagowane maile:

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"

tylko prąd:

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

edytować

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

Moja wina, używając tag-prefixzamiast tag-prefix-cond, zastosuje makro do oznaczonych wiadomości, jeśli są obecne, w przeciwnym razie do aktualnie wybranych.

Alex
źródło
kiedy dodam twoje makro i zaczynam mutt i pres S, mutt mówi:nothing to do
user1968963
Czy masz tjakieś wiadomości?
Alex
świetnie, to działa. Jak mogę sprawić, by działała również w przypadku bieżącej wiadomości (bez konieczności oznaczania jej najpierw)?
user1968963,
1
@ user1968963 zobacz aktualizację.
Alex
1
@ user1968963 może używając tag-prefix-cond do ustawienia innej komendy / zmiennej (dla mojego zrozumienia jest wykonywana tylko wtedy, gdy są otagowane maile), spróbuję, ale zajmie to trochę czasu, dam ci znać.
Alex
3

Przewodnik po mutt zawiera przykładowe makro dla twojego przypadku użycia:

indeks makr <tag-prefix-cond> <save-message> = foo <enter> "Zapisz oznaczone wiadomości (jeśli istnieją) w = foo"

Możesz to zaimplementować w swoim przypadku w następujący sposób:

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

Naciśnięcie Shiftaw widoku indeksu lub pagera spowoduje zapisanie wiadomości w katalogu maildir.

jasonwryan
źródło
istnieją dwa małe problemy z tym rozwiązaniem: 1) Mogę „zapisać” tylko jedną wiadomość na raz. Nie mogę otagować kilku wiadomości i zapisać ich wszystkich w archiwum. 2) gdy „zapiszę” wiadomość, nadal pojawia się w skrzynce odbiorczej oznaczonej jako usunięta. Czy można zastosować zmiany natychmiast (aby zostały natychmiast usunięte ze skrzynki odbiorczej)?
user1968963,