Skip to content
forked from soywod/iris.vim

A simple mail client for Vim.

License

Notifications You must be signed in to change notification settings

dsynkd/iris.vim

 
 

Repository files navigation

Iris.vim

A simple email client for Vim.

Introduction

Iris is a simple email client for Vim, inspired by (Neo)Mutt and Alpine.

(Neo)Mutt and Alpine are very good terminal email clients, but they lack of Vim mappings. You can emulate, but it requires a lot of time, patience and configuration. Why trying to emulate, when you can have it in Vim? VimScript and Python are strong enought to do so. I hope you will enjoy it, feel free to contribute!

Usage

:Iris

If it's your first connection, you will be prompted your IMAP password, then your SMTP password (this last one can be skipped, the IMAP password will be used instead).

Change folder

:IrisFolder

Keybinds

From email list interface

Function Keybind
text preview <Enter>
html preview gp (for go preview)
new email gn (for go new)
change folder gf (for go folder)

From email preview interface

Function Keybind
reply gr (for go reply)
reply all gR (for go reply all)
forward gf (for go forward)

From email edition interface

Function Keybind
save draft :w
send gs (for go send)

Config

Define your name:

g:iris_name = <string>

Default: Iris

Define your email address:

g:iris_email = <string>

Default: iris@localhost

IMAP

Define host:

g:iris_imap_host = <string>

Default: localhost

Define port:

g:iris_imap_port = <number>

Default: 993

Define login:

g:iris_imap_login = <string>

Default: user

SMTP

Define host:

g:iris_smtp_host = <string>

Default: same as g:iris_imap_host

Define port:

g:iris_smtp_port = <number>

Default: 587

Define login:

g:iris_smtp_login = <string>

Default: same as g:iris_imap_login

Roadmap

v1.0.0-alpha

  • List emails from INBOX
  • Preview text/plain emails
  • Preview text/html emails in browser
  • Set imap server as daemon (via sockets)
  • Send a new email
  • Reply to an email
  • Forward email
  • List and change folder (mailbox)
  • Support Vim8+

TODO

  • Save password in GPG encrypted file
  • Add list pagination
  • Preview / download attachments
  • Delete emails
  • Cache emails
  • Cache contacts
  • Auto-complete contacts to, cc, bcc
  • Fetch new emails in background (idle mode)
  • Save draft on server (instead of Vim memory)
  • Manage more than one account
  • Setup thread view
  • Support Gmail labels

Contributing

Git commit messages follow the Angular Convention, but contain only a subject.

Use imperative, present tense: “change” not “changed” nor “changes”
Don't capitalize first letter
No dot (.) at the end

Code should be as clean as possible, variables and functions use the snake case convention. A line should never contain more than 80 characters.

Tests should be added for each new functionality. Be sure to run tests before proposing a pull request.

Changelog

Credits

About

A simple mail client for Vim.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vim Script 72.0%
  • Python 28.0%