Fork me on GitHub
#vim
<
2019-08-12
>
Freddy10:08:47

Hi, I have been using vim for over a decade now and I am ashamed to say that I've never contributed to any plugins of any sort. In fact, before I discovered clojure, my vimrc was so tiny and the list of plugins I've used was very minimal. But now with clojure and its repl development approach, I feel the need for my editor to have a more symbiotic interaction with the programming language I'm using... Any particular reason, in that regard, that some of you switched to neovim? Was that before vim 8 and the lack of async support? Or is it something definitely worth considering for a typical (which I believe I am) vim user?

herald10:08:53

Late reply, but I didn't see anyone mention this: neovim has an excellent (once you add some plugins to it) built-in terminal. I don't need to use tmux with vim anymore, since I can do all that inside neovim now.

dominicm10:08:49

I switched for the async and stayed for the constant pushing forward they do

Freddy10:08:15

Pushing forward?

tvirolai10:08:38

I hopped on to the Neovim train just because it seemed it's going to be the "future" of Vim - more features, active development... It's a drop-in replacement for the original so the switch was pretty effortless. Gave it a try and haven't looked back since.

Freddy10:08:32

Thanks guys, it's motivating me to look more into it

Olical10:08:57

Remote plugins, floating windows and the msgpack RPC interface sold it for me as someone who wanted to build true async plugins in any language I wanted. (still waiting for floating windows to land in stable) - also virtual text is 💯 I use it to display documentation as I type - oh and being able to write plugins in Lua!

👆 4
Freddy10:08:09

@olical Yes I must admit the RPC interface is appealing... I'll try a switch today or tomorrow. Why Lua rather than vimscript? Is vimscript really bad?

Olical10:08:12

I mean, I've used Vim for a long time now and it has never really grown on me. I even owned a hardback "Learn Vim Script the Hard Way" book! The Lua executes faster and is much easier to understand / work with.

Olical10:08:48

My plugin is written in Clojure but the overhead of the msgpack RPC can be too much for some interactions, I get to write those in Lua then just execute a Lua function over the RPC interface. Best of both worlds!

Olical10:08:26

Complex functions in Lua are much easier to understand but I would argue that VimL is still better as a DSL for creating buffers or configuring things.

Freddy10:08:22

thanks! I'll have a look. I still have this feeling that if I did write some plugin, I wouldn't want to let the vim people down, and I'd write it in Vimscript anyways and have it vim compatible

Freddy10:08:56

so not sure moving to neovim makes sense for me, but I'll still try that

Olical10:08:03

Yep, which is fair enough. You can also write remote plugins that support the Neovim RPC as well as Vim 8 jobs, I just haven't bothered yet with mine.