Hacker News new | past | comments | ask | show | jobs | submit login
Vmail - A Gmail client in Vim (danielchoi.com)
241 points by stevelosh on Dec 14, 2010 | hide | past | favorite | 41 comments

"Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can."

Jamie Zawinski, Jargon file entry

It's funny but also explains Facebook's new move!

so, vim finally catches up to emacs?

One awesome thing about this is a lot of the time when the web frontend to Gmail is down, POP3/IMAP remain accessible - so vmail would be a great drop in there. (As would a myriad of other MUAs). As a vim zealot myself, I salute you for this commendable idea.

I just posted the link -- I didn't write the plugin. :)

On the topic of Gmail downtime: Vmail's method (use IMAP) isn't quite as robust as, say, Mutt + offlineimap, but it's a hell of a lot easier to configure.

If anyone is wondering how it works: the vim script (vmail.vim) sets up a series of buffers. It uses regular Unix shell commands to vmail_client to populate them and interact with mail, such as flagging messages. vmail_client is some Ruby code that communicates with the Ruby vmail server process using DRb. The vmail server does the heavy lifting of interacting with gmail itself.

You've accidentally got emacs in my vim.

Exactly. Good thing it's a plugin. I've always loved how the vim core stays so pared down into not-much-more than vi, which is 99% of the time all I need.

I have difficulty understanding why a text editor needs to be anything but a text editor.

That was my first thought.

is this the hacker target the guy earlier in the week was talking about? put in your gmail creds, they get swiped up and you lose your gmail account? This would be the exact thing that would get lots of hacker news accts :)

Don't you have this problem with any 3rd party email client that doesn't use OAuth? With bigger projects it's going to be pretty improbable that a malicious commit will get pushed to the trunk, but still, with small projects and hacks like this it's always a possibility.

I was more talking about someone posting a thread on HN earlier in the week that said someone was going to post something to fuck with HN users to get their personal info.

I'll switch when it can convert image attachments to ascii inline, I don't want to open a separate program to look at all those adorable pictures of kittens in my inbox.

If you use Mutt on OS X, you can.

Download Apple's ASCIIMoviePlayer[1] and put the binary from the zip file in your path.

Add the following line to your .mailcap:

    image/jpeg; ASCIIMoviePlayer %s && read WAIT
Select an attachment in Mutt and hit return.

Enjoy kittens.

Of course, since it's ASCIIMoviePlayer it will also play videos if you add the appropriate lines to your .mailcap.

EDIT: Oh, and make sure your terminal is at least 180 characters wide. There doesn't seem to be a way to make ASCIIMoviePlayer output a smaller size.

[1]: http://developer.apple.com/library/mac/#samplecode/ASCIIMovi...

mutt + imap + gmail = awesome.

There is just something about a simple plain text email interface with the power of an editor that makes life so much easier.

Of course that should be mutt + gmail. One doesn't need to use an IMAP app, mutt has this built in now. It's pretty good.

I have found gmail's IMAP service to be slow (only fetching 100 headers at a time). Perhaps others have had a better experience.

Does that setup handle gmail's concept of labeling? Such as archiving messages?

http://mail.google.com/support/bin/answer.py?answer=77657 is a nifty little chart showing how to accomplish Gmail actions from within the IMAP client of your choice.

If you delete a message from the inbox, then it gets archived. If you move it to [Gmail]/Spam or [Gmail]/Trash and then delete it, then it will really delete it.

As I understand it, IMAP is bolted on to gmail so labeling is never quite right in any client.

Tangentially, http://sup.rubyforge.org implements a GMail-like interface, full-text search and such but works with (essentially) any source.

I was recently figuring this out. Here is my config: http://bit.ly/fRpcs7

mutt + gmail + offlineimap is even better.

I'm still a heavy mutt user. But I have to acknowledge, that being able to use Google Search and Google Contacts is a nice to have.

Though I can live without search - mutt is awesome here, too. Having contacts in sync, though - is really nice. I will take the high road and write a sync script here, soon.

Anyone interested in collaborating in a soon to come github repo for it?

I like mutt a lot. The keybindings are awesome. I like that it comes with native gpg support.

That said, I like (and use) Apple Mail a lot. The gpg plugin is what makes mail.app usable for me. I do not ever send non-pgp-signed email.

I use goobook for contact sync to mutt. Works a treat.

Contacts autocompletion - cool. The lack of this feature is what kept me away from text-only email clients.

Has anyone figured out how to set the encoding and content-type for an attachment? Or has it not implemented as yet?

I really do love it though. I wish I saw this a few days ago, just did my first mutt setup (took me a few hours, I am very slow). The contact autocompletion is nice. Is there a reason for one not being able to just to generate the whole contact list ?

Cool stuff :) Played with it briefly. Need to find a way to see only unread mails in my priority inbox. gmail allows doing a "is:unread is:important" to get there (apart from the straight route of clicking on the priority-inbox link).

BTW, though vmail intro talks of Vim 7.3, I am not seeing any issue with getting vmail on my Vim 7.2. Guess it is recent enough.

I can't express how awesome this is...I was literally thinking about how great it would be to gmail in vim the other day. rad++

I have been trying this out. It's great.

Some key bindings do conflict such as C-p with Yankring. Also, need to be able to configure to use with links or elinks and not just lynx.

I hope the author keeps working on this.

jwz's prophecy comes true once again.

I'm thinking, you know, there used to be complaints about vi being an operating system with a lousy text editor.

Oh, wait, that was emacs, wasn't it. Hmmmm.

Meh One can do this already with mutt using IMAP directly with Gmail using vim as the composer.

I just use pine+IMAP with vim as the external composer. Much easier and does the job!

Don't use vim, but the stuff Dan Choi builds is high quality

I like Vim...do I like it that much? Hmmmmmm

For quite some time while I was in college, I read mail through a Vim plugin that I wrote for the purpose. I like Vim that much. However, I can't imagine using Vim to access Gmail for daily use, because Gmail actually does email _well_ (unlike just about every other email client I've used).

I was just thinking the same thing.

I can't upvote this enough.

pure awesomeness! :)

Applications are open for YC Winter 2023

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact