I use mutt and I like to sort out some emails from various mailing lists. I still like them to come to my inbox, but when read, I want to move them somehow automatically.

Currently, I do the following:

  • Select the mails matching a pattern, e.g.: T~f facebook.com
  • Move them to some place: ;s=Facebook

I made some macros to avoid typing it by myself. However I still need to do the two separate steps. And considering that I have a few different mailing lists (say, LinkedIn as well), that's two steps for each list.

I would like to reduce it in a single step, that is to say one command (macro) to select a few messages based on the pattern and move them.

The problem is that ;s does not check if some mails are already tagged. So that if none are tagged, it will move the current mail. How could I add some condition to ;s to do nothing if no tag is set?

1 Answer 1


I'm not a mutt user, but it looks like tag-prefix-cond can do this. It is like tag-prefix but if there aren't any tagged messages, the command buffer is flushed without doing anything (in other words, whatever hook you're in stops dead in its tracks), from this [email protected] archive.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .