Para marcar simultaneamente uma mensagem como lida e excluí-la, você pode usar o set resolve=no
antes do comando para evitar passar para a próxima mensagem. Isso evita ter que verificar a condição e tal. Seu cursor permanecerá no lugar após a conclusão da ação.
Por exemplo, eu uso o seguinte para marcar como lido antes de mover uma mensagem para um arquivo maildir:
macro index,pager a ":set confirmappend=no delete=yes resolve=no\n<clear-flag>N<tag-prefix><save-message>=archive\n:set confirmappend=yes delete=ask-yes resolve=yes\n<next-undeleted>"
Isto irá:
- Defina um valor antes da ação, incluindo
resolve=no
para evitar passar para a próxima mensagem - Limpar o sinalizador não lido:
<clear-flag>N
- Salve a mensagem no meu arquivo:
<tag-prefix><save-message>=archive
- Defina o valor de volta para o que deveria ser, incluindo
resolve
- Ir para a próxima mensagem não eliminada:
<next-undeleted>
Então, para marcar como ler e excluir, algo assim deve funcionar:
macro index,pager d ":set confirmappend=no delete=yes resolve=no\n<clear-flag>N<tag-prefix><delete-message>:set confirmappend=yes delete=ask-yes resolve=yes\n<next-undeleted>"