* replace bsd3 license by bsd4 * add attachments with save and send commands (#284) * set up tpl save and send commands * improve msg save and send handlers * add vim msg#add_attachment fn * improve vim logs * update changelog * add attachment keybind vim doc * reverse range order fetch envelopes (#276) * bump version v0.5.4
4.6 KiB
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:
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