June 12, 2021

I heard about mutt during my very first years of Linux, 20 years ago, but I never got into it until last year. I tried to use it a few times on my different Macbook, without success. I guess I was not that much interested at the moment, or I didn’t know what mutt was capable of, or I simply couldn’t resist the macOS Mail app (and I tried many other mail applications on the Mac). No matter why, I am now using Neomutt every day, and while I’m still learning some of its advanced features, I thought I would share my experience so far.

Since I moved my whole Emacs-based setup to individual apps I needed to choose a mail reader, preferably a TUI thing since I was used to process my email from within Emacs with mu4e. From my Linux time I knew Evolution, or at least what it was in the 2000s, wouldn’t fit the bill, nor Thunderbird or anything with a ton of menus and dialog boxes. I was looking for something as lean and powerful as Vim, you get the idea. Joshua Stein uses it, why not me? I searched a little on the net and on Github to see examples of config, read and reread the documentation, to finally arrive at a configuration that satisfies me, and especially that I can use without asking myself too many questions. Processing emails is generally a boring task,1 it might as well not take forever either.

Here are a few points that I like most in Neomutt:

As I said, I’m still learning about advanced features, especially those concerned with search and automatic rules. That’s pretty basic stuff everywhere else: what you generally need is goto, replace (or whatever action you want to carry on an item matching a target pattern) and full-body search functionalities.

And here are a few tricks that I learned when configuring Neomutt:

  1. Let’s face it: incoming emails are mostly work-related or junk emails. It means we need extra efforts to process them, no matter how you look at it, compared to private messages we used to send each other in the 2000s. Facebook succeeded in abolishing private emails, Slack didn’t for work-related emails apparently. ↩︎

  2. I got a lot of timeouts for icloud recently, to the point this became really annoying since it was the first account I was checking on my list. I decided to forward everything to my other private account, and get ride of all my old mails by simply archiving them with the rest of my former Gmail account. On the plus side, fetching new mails is now much faster since I only have two accounts to manage. ↩︎

  3. You can add print -Pn "\e]0;$1\a" in a preexec() function for that purpose. See also Xterm Titles With Bash↩︎

See Also

» Timeshift for system backup » Welcome OpenBSD » Little shell scripts are amazing » Happy New Year » On creating Org documents using shell scripts