himalaya/vim
Igbanam Ogbuluijah 794860befe
Fix the message list bug (#216)
With the current version of Himalaya, the Vim front breaks because it
can't find headers.subject in the JSON output from Himalaya. The JSON
output today from Himalaya representing a message looks like so

```json
    {
      "uid": 12345,
      "flags": [],
      "subject": "Subject",
      "subject_len": 7,
      "sender": "Sender",
      "sender_len": 6,
      "date": "2020-12-11 06:38:19"
    },
```

This reverts some of the changes in b9a9d0e, but not all of them.
2021-10-10 09:10:37 +02:00
..
autoload/himalaya Fix the message list bug (#216) 2021-10-10 09:10:37 +02:00
doc fix vim help doc (#117) 2021-05-09 17:15:29 +02:00
ftplugin disable cursorline for read/write in vim plugin (#195) 2021-08-29 22:39:22 +02:00
lua/himalaya add ability to change account vim plugin (#91) 2021-06-03 16:08:03 +02:00
plugin restore cpo vim plugin 2021-09-11 00:51:25 +02:00
syntax add ability to change account vim plugin (#91) 2021-06-03 16:08:03 +02:00
README.md update vim readme with new mappings and options 2021-05-08 22:27:12 +02: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:

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.

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

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