.. | ||
autoload/himalaya | ||
doc | ||
ftplugin | ||
lua/himalaya | ||
plugin | ||
syntax | ||
README.md |
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
):
native
: a vim native inputfzf
: https://github.com/junegunn/fzf.vimtelescope
: https://github.com/nvim-telescope/telescope.nvim
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
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):
With telescope support:
With fzf support:
Read message view
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
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 messageDraft
: saves the message into theDrafts
mailboxQuit
: quits the buffer without savingCancel
: goes back to the message edition