mutt: salva a mensagem em uma pasta específica

15

Eu tenho várias pastas definidas no Mutt:

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

Posso salvar (mover) uma mensagem para arquivar, pressionando se, em seguida, ?para ver uma lista de pastas e, em seguida, posso escolher archivena lista.

Como eu sempre quero salvar em archive, gostaria de ter uma macro, para que pressionar sautomaticamente salve a mensagem selecionada em archive, sem perguntar.

Alguém por favor pode ajudar?

EDIT: agora tenho a seguinte macro, para salvar as mensagens na minha pasta "archive":

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

o problema é que as mensagens permanecem no índice marcado como excluído. Eles não são "sincronizados" imediatamente. Segundo, o <enter>no final age como <display-message>, de modo que, quando pressiono S, acabo no pager da mensagem atual.

De maneira semelhante, estou tentando implementar a trashpasta no mutt. O seguinte é retirado das Amostras de Macro Mutt

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"'

mas isso também não funciona. Instt mutt me pergunta:

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

sempre que pressiono, nada acontece (as pastas lixeira / {cur, new, tmp} existem)

user1968963
fonte
É intrigante que <sync-mailbox>parece não fazer nada. Quando você usa o comando de exclusão normal ( d) e as mensagens são deixadas no índice marcado como excluído, o que acontece quando você pressiona $(qual é a ligação padrão <sync-mailbox>)?
ewhac
quando pressiono $mutt me pergunta Purge 1 deleted message?. Eu posso pressionar o Yque excluirá a mensagem.
User1968963
Um pensamento ocorre: o <sync-mailbox>comando está esperando a entrada do usuário ( y), mas vendo o seguinte imediatamente :, para que a limpeza não aconteça. Eu me pergunto o que poderia acontecer se você colocar um ydepois ...
ewhac

Respostas:

17

mails marcados:

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"

somente atual:

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

editar

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

Minha culpa, usando em tag-prefixvez de tag-prefix-cond, aplicará a macro às mensagens marcadas, se presentes, caso contrário, à atual selecionada.

Alex
fonte
quando eu adicionar seu macro e começar a vira-lata e pres S, vira-lata diz:nothing to do
user1968963
Você trecebe algum correio?
Alex
ótimo, funciona. Como eu poderia fazê-lo funcionar na mensagem atual também (sem ter que marcá-la primeiro)?
user1968963
1
@ user1968963 veja a atualização.
7773 Alex
1
@ user1968963 talvez usando tag-prefix-cond para definir um comando / variável diferente (pelo que entendi é executado apenas se houver mensagens marcadas), tentarei, mas exigirá algum tempo, informando você.
Alex
3

O guia mutt possui uma macro de exemplo para o seu caso de uso:

índice de macro <tag-prefix-cond> <save-message> = foo <enter> "Salve as mensagens marcadas (se houver) em = foo"

Você pode implementá-lo no seu caso da seguinte forma:

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

Bater Shiftana exibição de índice ou pager salvaria a mensagem no seu arquivo morto.

jasonwryan
fonte
existem dois pequenos problemas com esta solução: 1) Só posso "salvar" uma mensagem de cada vez. Não consigo marcar várias mensagens e salvá-las todas para arquivar. 2) quando eu "salvo" uma mensagem, ela ainda aparece na caixa de entrada marcada como excluída. É possível aplicar as alterações imediatamente (para que sejam excluídas imediatamente da caixa de entrada)?
user1968963