Thursday, March 27, 2025

Re: why is neovim such a sad thing?

There was once I was on the Neovim bandwagon; because I had some difficulty getting started with Vimscript before Vim 9. When Vim 9 came with vim9script, it no longer made sense to invest in Lua as a language to script the editor.

I can empathize with people who lean into Neovim. I am only eight years into my Vim journey. There's a certain passion and curiosity required to main a thing; in this case, "to being a Vim-main", or a "purist" in certain terms. That passion and curiosity is less prevalent these days because the industry has created many comfort™ abstractions to aid the engineer / developer in getting work done. I see these comfort abstractions in your journey through sed, awk, scripting, and beyond; with the next thing incrementally expanding affordance, by somewhat abstracting away the complexity of its predecessor. It's in this same light that Neovim's popularity has taken flight. However Vim and Neovim aren't as static as the unix tools. The boon of opensource software is democratization; its bane is fragmentation (in product, and in community).

I see plugins as training wheels. Over time, I've realized I need less of them. But in a world fraught with so much GUI apps, that blank screen Vim starts with is daunting to the today engineer / developer. This, I think, is the allure for plugins: to get the blank workable without investing much time in reading the Vim docs. Another pattern emerging in recent years which, I think, is an extension to plugins-culture is the so-called "distros": AstroVim, LazyVim, SpaceVim, and so on. All these are along the line of making adoption easier. — something in my mind is telling me this adoption is also the reason for Evil and Viper in Emacs; but I wouldn't know cos I haven't used Emacs. — Once adopted, an advanced user would seek optimizations in the editor. At that point, most of these training wheels usually fall off naturally.

I wouldn't say Neovim as a sad thing per se; but there sure is a sadness. The sadness is that there is so much abstraction now that it seems we're abstracting away the thing itself. So new Vim users have less of a chance of being Vim users, they're further removed from the Unix philosophy. On one hand (the developer's hand), this is amazing because the barrier of entry is reduced. On one hand (the community's hand), this is preferred because adoption increases. On one hand (the culture's hand), this is scary cos this is an evolution which may leave the original culture behind.

I'm keen to hear your thoughts when you develop it more. Also, when you give / publish that talk, please remember to share on this thread as well. Thank you!


Igbanam


On Thu, Mar 27, 2025 at 8:26 AM Marc Chantreux <mc@unistra.fr> wrote:
hello Paolo,

On Thu, Mar 27, 2025 at 03:01:54AM +0000, Paolo Bolzoni wrote:
> On Tue, 25 Mar 2025 at 12:37, Marc Chantreux <mc@unistra.fr> wrote:
> > Cool! this way you have something much simpler than the smarttabs
> > plugin and you learned stuff in the process.
> >
> > that's what vim once was and should remain and that's the reason I
> > really see neovim as a very sad thing that happenned to our community.
>
> Can you elaborate? I always thought that in addition of its age,
> projects like neovim the proof how the vim idea is good.

I wish I had time to elaborate right now but I don't (I will at some point
because I more or less promise a talk at a local tech conference). But
let's try to pitch it a very concise way.

As introduction, I have to say I love the unix and convivialist
cultures: we help each others to make things possible with the most
simple, clean and maintainable way so we could share, explain, maintain,
drop easily.

* I started using vi (vim among other implementations) in the 90. At
  this time it wasn't clear to me wich one was the best because I was
  learning the very basics anyway. What hooked me is the way vi was
  concise and consistent, yet powerful. For that and because it was
  considered as "the default unix editor" at the time, I chose vi
  then vim over emacs.
* When I started to master the basics, I became exigeant so I started to
  tweak my .vimrc more and more. I asked so many questions on this list
  and the irc channel and I realized two things that helped me to be so
  confortable not only with vim but with the whole unix system as an
  IDE: vi was just a visual ed so:
  * so the langage you use to extend is the one you use every day.
  * the concepts you use are available in unix at large including the
    regexp, substitution syntax, pipes and filters
    (https://github.com/eiro/talk-acme-changed-my-life).
    then you realize sed works the same, then you realize that awk is a
    verbose sed with line split and math, then you realize sometimes
    you need both together + more "scripting langages" abilities and you
    discover perl, then you discover perl regexps and PCRE and you
    realize that regexps are so much more than what you previously
    thought and you "nnoremap / /\v" (discovering \M in the process).
    you *can't* waste your time trying to tune something this way
    because you just practice the vim as a window to an amazing world
    with a very rich culture
    See https://git.unistra.fr/mc/dot/-/blob/main/vim/r/buffer_navigation.vim
    * the first line is something I wrote once and forget forever
    * all the others are made of things I use all the time

Of course, it is also a social journey: meet people, share about
problems and Ideas …

I wasn't aware of how vim will be the key to the whole unix culture when
I started my journey and I really think neovim put a distance to this
world using lua as default langage and insisting on plugins.

neovim users are actually emacs+viper users that are ignoring
themselves (and most of the time terrible vim users). there was no point
to split a community, its plugin ecosystem, its support effort,
its culture (to be honnest: yes, at some point there
were one good reason: async which only was added in vim8 but nowadays
I chat with many neovim users but none of them were able to show me
*one* thing I can envy mostly because vim already does it another way).

I'm really sorry I have no time to push more details and examples here
and I'll come back here to share more materials when it will be ready.

regards

--
Marc Chantreux
Pôle CESAR (Calcul et services avancés à la recherche)
Université de Strasbourg
14 rue René Descartes,
BP 80010, 67084 STRASBOURG CEDEX
03.68.85.60.79

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/vim_use/Z-ULoGHHTFj-HNOm%40prometheus.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/vim_use/CAOmRJrdM%2B%3Ds0ybpAFNiak4MidpNR9ia4JMFB7QnOzYq3D%3DveOQ%40mail.gmail.com.

No comments: