I've always been a big fan of the Mutt email reader, since there is no faster way to mash through all sorts of mail, resort it, then delete the cruft. It's a bit different to use since you're reading lots of HTML mail these days through the command line, but it has some nice auto ways to view HTML as text, or as a last resort, you can always view an individual email in the browser.
Mutt does handle IMAP natively in the program, and it works fine with IMAP support in GMail. However, I'm also often away from internet connectivity, or I've got it for short bursts, so I've been looking for ways to make most of my tools work in some sort of offline mode.
Offlineimap is a great tool, and seemingly very reliable. It will download your IMAP mail into a local Maildir directory, where an email program like Mutt can parse the directory as if was local email. Any modifications or deletion of files will automatically resync with your online IMAP folder the next time you sync.
There are many pages around, including this one, that go through the details of how to set up Offlineimap, Mutt, and GMail, along with using Mstmp as a simple SMTP client to send email to Gmail from mutt. I'm just here to give my endorsement, and to let people know that this solution exists.