6 ms·
What's the elevator pitch for Neovim over regular Vim or GVim? I see verbiage about extensibility and modern guis, but has any Vim user actually seen real world
by TaupeRanger 5y ago
What's the elevator pitch for Neovim over regular Vim or GVim? I see verbiage about extensibility and modern guis, but has any Vim user actually seen real world benefit after switching to NeoVim? Is it all just icing?
- 41b696ef1113 5y agoI am willing to take the philosophical stance that even if NeoVim was only a 1:1 feature parity of Vim, it would still be a GoodThing. We need to find a way to dig ourselves out of endless backwards compatibility and advance the state of software. Supporting 8.3 filenames no longer has its place. This[0] post about the early days of NeoVim development made some interesting points about Vim, but one choice quote I recalled and had to google, > Some of Vim’s source code isn’t even valid text. It’s not ASCII or UTF-8. The venerable file can’t figure out the encoding... Re-building things to a more solid foundation enables new workflows that are currently challenging. As a Vim user, I have longingly looked at the Emacs ecosystem, with its saner extension language (though Emacs lisp has its own historical baggage weighing them down). Once Lua becomes the default, I expect to see new evolution in features that would otherwise not have made it to the Vim scene. At worst, I can imagine VSCode javascript plugins get transpiled to Lua to run within NeoVim. [0] https://geoff.greer.fm/2015/01/15/why-neovim-is-better-than-vim/ https://geoff.greer.fm/2015/01/15/why-neovim-is-better-than-...
- yoyohello13 5y agoThere has been a lot of talk around here lately about modernizing emacs. It really seems to me that neovim is shaping up to be the new “modern” emacs. With full lua integration, lsp, gui clients, and projects like neorg it’s getting a lot closer to building its own emacs like ecosystem.
- alpaca128 5y agoIt does help that the project is a tiny fraction of the size. I hope it mostly stays that way despite the odd new feature.
- chalst 5y agoI like the NeoVim project and think Lua is a great scripting language, and so I wish the project all the best, but it is not attempting to scratch many of the itches that Emacs and Elisp do for many of us old timers.
- kchr 5y agoWould you care to elaborate a bit? I think both Emacs and Vim have valid use cases, and I am interested to hear your opinion.
- chalst 5y agoTo choose just one example, but one that illustrates the gulf between the two projects. For shell interaction, I use eshell, a UNIX shell written in Elisp, as often as I use anything else. It has some sharp edges, but it takes more sharp edges off shell interaction so it generally makes, for me, the most pleasant way to interact with the shell. I am aware of no NeoVim project aiming at something like eshell, and it would not, I think, be a good fit for the NeoVim philosophy if it were tried.
- slightwinder 5y agoIs neovim really flexible enough to compete with emacs? Adding just more tooling is not really what would make it shine in emacs-space. My impression is more that neovim is competing with the likes of Sublime Text, maybe to some degree with VS Code. Is Neovim flexible enough that it could stop being vim? Remove the modal key-system and implement something of your own? Has enough introspektion to allow something like emacs which-keys? This is a module which show a list of valid keys that can be pressed when you are inside a keychain.
- 21eleven 5y ago> Has enough introspektion to allow something like emacs which-keys? Yes. https://github.com/folke/which-key.nvim https://github.com/folke/which-key.nvim
- deleted 5y ago[deleted]
- qudat 5y agoOn top of 0.5 providing tree-sitter syntax highlighting and LSP support natively, it supports lua. Vim configurations can now be completely written in lua. As a result, the plugin ecosystem is exploding. You can find a directory of neovim specific plugins here: https://neovimcraft.com https://neovimcraft.com
- ur-whale 5y ago>has any Vim user actually seen real world benefit after switching to NeoVim I've tried NeoVim for a couple of month this year. It's a tad snappier than vim, but there are a number of "quirks" (behaves ok, but doesn't behave exactly like vim) that made me walk away from it: at this point, vim is so hard-wired in my brain that any tiny difference in behavior is painful.
- alpaca128 5y agoWhat for example? I genuinely haven't noticed any difference out of the box. I usually also don't like deviations, hence why I can't stand Emacs' Evil mode.
- ur-whale 5y agoThere was quite a few, but off the top of my head: 1. searching for stuff with / jumps prematurely to destination, drives me nuts. 2. I have most "smart" features (auto-indent type stuff) disabled for C++ mode in my .vimrc, which works fine in vim but is completely ignored by neovim. It requires futzing around with post/pre loading of plugins, which - 1.who has the time to do these things 2. makes for incompatible init files. 3. does not read .vimrc by default and requires linking files to have a united init file I'm sure with enough work, I can get it to behave the way my poor old stiff brain expects, but - again - who has time for stuff like this. I might revisit neovim the day I have enough time on my hand to figure out how to install the whole tresitter shebang.
- alpaca128 5y agoAh, coincidentally my preferences make the first two non-issues: I always set Vim to jump to the first search result in realtime because that lets me take a glance at another part of the file and then immediately jump back with Esc. So that way I didn't notice this apparently became a default setting in NeoVim. Which is still a weird thing and shouldn't happen imho. And I always have all kinds of smart features disabled in every situation because almost nothing annoys me more in software, and as far as I can tell nothing changed with the switch. The init.vim thing is definitely cumbersome when you just want to try it out, even though in the end it's just a symbolic link. > I might revisit neovim the day I have enough time on my hand to figure out how to install the whole tresitter shebang. I just did that last week, it's relatively straightforward with the guide in the vim-treesitter readme but requires the nightly build until NeoVim 0.5 releases. And if I'm not mistaken that future version will make it easier too.
- opan 5y agoI think one of the reasons I switched was being able to have my config in the xdg config spot instead of my home directory. I don't know if oldvim ever added support for that, but both emacs and neovim support it now.
- kaba0 5y agoIf I remember correctly, there was also some problem with Vim’s main maintainer not letting new functionalities merged, effectively freezing the project.
- lawn 5y agoWith Neovim 0.5 you'll get native SLP and treesitter support. And it has first class Lua support, which is a huge improvement over vimscript for plugin writers and if you do larger configs yourself. These are by no means must haves, and there are workable alternatives, but IMO they're nice improvements that warrant the small switching overhead.
- elpatoisthebest 5y agoGvim isn't really an "or" in this case, it's just a GUI for vim. Some things I like about neovim over vim. - Lua integration as first class citizen. - Treesitter - lsp built in - Feeling that the community is super active and in a period of movement. I love being able to hack and add specific functionality to my own workflow in lua just as part of the editor. I can add features in a way that I just can't in VS Code or vim. It's no emacs level of hackability, but it's a happy medium for me.
- O_H_E 5y ago> can add features in a way that I just can't in VS Code I have no knowledge about VSCode's JS nor NVim's Lua APIs beyond that one can write extensions in these langs. Would you be able to expand on what can you do with Lua in Nvim that can't be done in VSCode? That could really be a tipping point for me.
- alpaca128 5y agoCan't say much about Lua, but the huge advantage both Vim and Emacs have over many other editors: you don't need to write a plugin to add a feature. Plugins are just scripted functions. You can press `:` and define a new keybinding right there while editing a file. Or write a function in the .vimrc and it'll be loaded at every start. Or try out other colors for the UI or syntax elements using the same commands used in syntax definitions. It's all directly accessible to the user with complete documentation in the editor. Meanwhile the "hello world" tutorial for extending VS Code starts out with installing Node.js & multiple npm packages and compiling some source file. For a power user it's just not the same, and there's no way I'd ever switch to another editor without this flexibility.
- O_H_E 5y agoThat's a really nice a distinction! Thanks