4 ms·
Ask HN: Vim or Neovim?
Which one should I choose and why? Any reasons to prefer one over the other?
- nopipeline 2y agoNeovim. * "Modern" codebase. * General purpose scripting language (Lua, instead of Vimscript, which is a DSL). * Greater (and mostly maintained) extension ecosystem. Vim is nice on ssh'd servers.
- wruza 2y agoA bit of history for those who missed it. Neovim was forked in revolt, because Bram, being a BDFL, was reluctant to “async” scripting, afair. Then in version 9 (or was it 8.x?) it still landed and neovim lost its main reason to exist. Talks about merging back were talked for a while. Now it’s functionally just a fork with different everything. I wouldn’t expect better software quality than vim, projects like vim are on another level. Personally (opinion ahead), I find Vim a proven classic and neovim feels like yet another github project with a never-ending backlog for bells and whistles. Watching youtube videos on how it works with all these rainbow unicorn plugins makes me want to close it immediately. They made exactly that vim that Bram has foreseen and didn’t want it to evolve into, because it falls into the uncanny valley between an editor and an IDE. I believe vim mailing list should still have his message with concerns about that.
- lemonwaterlime 2y agoAgreed. The async had been all that I was missing. Sticking with vim.
- JamesLeonis 2y agoI regularly switch back and forth between the two. I maintain a cross-compatible .vimrc to make those switches simple. I don't even alias, preferring to use either `vim` or `nvim` as appropriate. As a caveat, I generally don't turn it into an IDE. I like a more vanilla experience, and using TMUX to lean on the shell for most typical IDE functions. If I could state a preference between the two: Vanilla VIM: Installed on every server I touch, always available, works well even without configuration. NeoVIM: Slightly better for mixed Clojure/ClojureScript projects (with Conjure plugin) that I'm often working on.
- crackalamoo 2y agoI just use Vim. No reason to get Neovim when it's effectively the same for my usecase, just with extra steps. Vim is already installed anywhere and feels super light. If I wanted a fancy editor, I would just use VSCode (which I do). Vim is best for lightweight and simple uses imo, plus ssh.
- fragmede 2y agofwiw, VSCode has annssh mode to edit and run remotely and even inside a dev/docker container
- ksherlock 2y agoed, man. man ed!
- mikewarot 2y agoAwww... it's TECO for the win! iHello World $ewhello.txt$ex$$ C:\teco>type hello.txt Hello World! C:\teco> https://github.com/mikewarot/teco https://github.com/mikewarot/teco
- qup 2y agoThey're the same, just ecosystems. I "grew up" on vim, and I've used nvim in recent times, and there's no substantial difference imo. Mainly it's how they get setup, not how they get used. Emacs, on the other hand... Just kidding, I would never use that foul operating system.
- rstuart4133 2y ago> They're the same, just ecosystems. I'm a long time vim user. I watched someone use neovim, started drooling over the plugins they were using and decided to give it a go. As I understood it neovim was born because Moolenaar didn't want to give up on vim's scripting language. It something you might like to replace. I don't know why he was so attached to it. When neovim made LUA it's scripting language it gave rise to all these plugins, which is what I was drooling over. Within about 15 minutes of using neovim I hit my first bug. Split screen diff's weren't rendering correctly. In fact they rendered so badly it was impossible to use. Then I hit a few more. That reminded me of one thing I am in awe of in Moolenaar. Vim is a big piece of software, yet I don't ever recall hitting one bug in the underlying engine. He was one mother of a programmer, truly a giant among us.
- wruza 2y agoWhat’s even worse, nvimers seems to ignore bugs that are impossible to miss. The first time I installed neovim, it: - couldn’t re-'columns' itself on window resize - couldn’t be used as an explorer’s “open with” action (due to nvim-qt/nvim argument forwarding nonsense) - another outstanding bug/non-feature that I don’t remember now, but it was just stupid. Okay, I thought, give it some time. I gave it some time every two years since 2018-ish. Guess what. And tbh, Lua, really? I mean, it’s better than vimscript, but having such opportunity and choosing Lua is just… no words. It wasn’t even unclear future, the whole point of neovim was making IDE out of it. This is a “typed lang with a rich ecosystem” class of task, not “embedded scripting with no batteries and barely working pm”. I bet that people who actually write plugins wish it was typescript or python multiple times a day.
- 2y ago
- pawelduda 2y agoNeovim - modern and well maintained flavor, great dev team behind it, healthy plugin ecosystem, many great features you won't find in vim. Plus everything vim has to offer.
- kasperset 2y agoStart with Vim if these are the only two options. Vim is more battle tested and has seen more days.
- nittanymount 2y agofor the functions I use with vi, don't feel the differences, LOL
- aborsy 2y agoVim does it all and well!
- verdverm 2y agowent from vim -> nvim -> VSCode + vim extension I get to keep my motions and modes, get better support for normal IDE features, and a bunch of extras like being able to view images, pdfs, markdown
- ativzzz 2y agoNeither. Stick with VScode unless you have a lot of free time and nothing better to do. Otherwise neovim if you're entering the ecosystem from scratch
- neilsimp1 2y agoNeoVim, if only because lua > vimscript.
- dyingkneepad 2y agoTrying neovim has been on my TODO list for a while, but I never had an actual reason for it. What's better about it that will make me want to switch? I don't care about the fact that internally it's Lua instead of Vimscript: I'm not writing code in either. All that I can see is that I'm going to adapt to the differences, which is a downside.