Re: Recommended method to pair Notmuch with Neovim?

Subject: Re: Recommended method to pair Notmuch with Neovim?

Date: Mon, 17 Apr 2023 18:21:46 -0600

To: Ralph Seichter,


From: Felipe Contreras

Ralph Seichter wrote:
> * Felipe Contreras:
> > There hasn't been any development because to be frank it just works.
> I did not mean to imply that "no repository changes" is necessarily a
> bad thing. However, Neovim being quite volatile, I intuitively expected
> some form of development for notmuch-vim being necessary to keep things
> working.

I don't see why. neovim aims to support most of what vim does.

And I said: I don't use neovim (yet).

> > I've also started to rewrite it from scratch because a lot of it I
> > think can be done in a much simpler way, but that doesn't really
> > affect the users, it's just the maintenance of the code.
> That tells me you are still invested in the subject, which is a welcome
> thing to read.
> > I tried notmuch-vim on neovim with ruby support some time ago and it
> > worked fine. I think there was some issue with slowness, but they
> > fixed it. I don't really remember.
> I set up a virtual Ubuntu 22.04 Server with Notmuch for testing, and
> managed to get Ruby 3 support for Neovim [1] working. I then used your
> plugin via the "Lazy" package manager for Neovim. Some of the basics
> work. Navigating and searching look OK, but I have yet to manage to send
> email. So far, message bodies are always missing, so it is not usable
> yet. Neovim keeps reporting tons of errors when I try to compose and
> send email, and I have not yet delved deeper.

Did you install the "mail" gem as the installation instructions recommend?

  % gem install mail

It should actually be a requirement, but I haven't updated the instructions to
say that.

> > One alternative that I considered is to rewrite notmuch-vim in lua,
> > but that would probably require some libnotmuch bindings for lua,
> > which would take considerable amount of time to write. And that would
> > only work for neovim, not vim.
> From what I understand, Vim 9 introduces a new, proprietary scripting
> language, while Neovim uses LUA? That seems to foreshadow lots of work
> if one wishes to provide plugins that work with both editors.

But you don't have to use Vim 9. The old language will keep working.

> > It might be better to just keep using ruby. It's a fantastic language,
> > there's already pretty good bindings for libnotmuch, and it works for
> > both vim and neovim.
> Ruby may be a worthwhile language, but in this particular scenario of
> Neovim and Notmuch, I see the end user's perspective: I don't need Ruby
> to run anything but notmuch-vim, so I don't want to install Ruby on
> various systems if it can be avoided.

Ruby is already installed on most systems I use, and it's only like 10 MiB.

I believe one should use the best language for the task, and in this case that
language is clearly Ruby.

> I'll do it if there is no alternative, but LUA sure sounds better than Ruby
> to me. Selfish, I know. ;-)

It sounds better to you as a user.

Just try to program a paginated list of items in Lua and you might change your

> > I think you should just give it a try.
> I began my experiments, but as stated above, I ran into issues that I
> have yet to figure out.
> Thank you for your response and for your plugin, Felipe.

I would try in vim as well, just so you see how it's supposed to work.

To be frank notmuch-vim is so superior to anything I've used, that even if I
move completey to neovim and it doesn't work there, I would keep using vim just
for this tool.


Felipe Contreras
notmuch mailing list --
To unsubscribe send an email to