notmuch-vim is a mail user agent that runs inside vim and uses notmuch as a backend.
Since notmuch indexes all mails locally it’s extremely fast.
notmuch deals with the mail database, vim with text editing, notmuch-vim links the two, the mail Ruby gem parses the mails, msmtp sends the mails, mbsync downloads and synchronizes the mail, and elinks converts HTML to text when needed. This is the UNIX philosophy at its best.