himalaya/vim
2022-03-02 23:32:00 +01:00
..
autoload/himalaya release v0.5.4 (#285) 2022-02-05 00:29:57 +01:00
doc release v0.5.2 (#282) 2022-02-02 02:21:35 +01:00
ftplugin release v0.5.4 (#285) 2022-02-05 00:29:57 +01:00
lua/himalaya release v0.5.2 (#282) 2022-02-02 02:21:35 +01:00
plugin restore cpo vim plugin 2021-09-11 00:51:25 +02:00
syntax vim: render msg table directly from cli (#238) 2021-10-24 23:34:04 +02:00
README.md add keybind precision vim readme (#298) 2022-03-02 23:32:00 +01:00

Vim plugin

Installation

First you need to install and configure the himalaya CLI. Then you can install this plugin with your favorite plugin manager. For example with vim-plug, add to your .vimrc:

Plug 'soywod/himalaya', {'rtp': 'vim'}

Then:

:PlugInstall

It is highly recommanded to have this option on:

set hidden

Configuration

Mailbox picker provider

let g:himalaya_mailbox_picker = 'native' | 'fzf' | 'telescope'

Defines the provider used for picking mailboxes (default keybind: gm):

If no value given, the first loaded (and available) provider will be used (fzf > telescope > native).

Telescope preview

let g:himalaya_telescope_preview_enabled = 0

Should enable telescope preview when picking a mailbox with the telescope provider.

Contact completion

let g:himalaya_complete_contact_cmd = '<your completion command>'

Define the command to use for contact completion. When this is set, completefunc will be set when composing messages so that contacts can be completed with <C-x><C-u>.

The command must print each possible result on its own line. Each line must contain tab-separated fields; the first must be the email address, and the second, if present, must be the name. %s in the command will be replaced with the search query.

For example, to complete contacts with khard, you could use khard email --remove-first-line --parsable '%s' as the completion command.

Usage

List messages view

:Himalaya

gif

Function Default binding
Change the current mbox gm
Show previous page gp
Show next page gn
Read focused msg <Enter>
Write a new msg gw
Reply to the focused msg gr
Reply all to the focused msg gR
Forward the focused message gf
Download attachments from focused message ga
Copy the focused message gC
Move the focused message gM
Delete the focused message(s) gD

They can be customized:

nmap gm   <plug>(himalaya-mbox-input)
nmap gp   <plug>(himalaya-mbox-prev-page)
nmap gn   <plug>(himalaya-mbox-next-page)
nmap <cr> <plug>(himalaya-msg-read)
nmap gw   <plug>(himalaya-msg-write)
nmap gr   <plug>(himalaya-msg-reply)
nmap gR   <plug>(himalaya-msg-reply-all)
nmap gf   <plug>(himalaya-msg-forward)
nmap ga   <plug>(himalaya-msg-attachments)
nmap gC   <plug>(himalaya-msg-copy)
nmap gM   <plug>(himalaya-msg-move)
nmap gD   <plug>(himalaya-msg-delete)

List mailboxes

Default behaviour (basic prompt):

screenshot

With telescope support:

screenshot

With fzf support:

screenshot

Read message view

gif

Function Default binding
Write a new msg gw
Reply to the msg gr
Reply all to the msg gR
Forward the message gf
Download all msg attachments ga
Copy the message gC
Move the message gM
Delete the message gD

They can be customized:

nmap gw <plug>(himalaya-msg-write)
nmap gr <plug>(himalaya-msg-reply)
nmap gR <plug>(himalaya-msg-reply-all)
nmap gf <plug>(himalaya-msg-forward)
nmap ga <plug>(himalaya-msg-attachments)
nmap gC <plug>(himalaya-msg-copy)
nmap gM <plug>(himalaya-msg-move)
nmap gD <plug>(himalaya-msg-delete)

Write message view

gif

Function Default binding
Add attachment ga

They can be customized:

nmap ga <plug>(himalaya-msg-add-attachment)

When you exit this special buffer, you will be prompted 4 choices:

  • Send: sends the message
  • Draft: saves the message into the Drafts mailbox
  • Quit: quits the buffer without saving
  • Cancel: goes back to the message edition