this post was submitted on 03 Jan 2024
122 points (99.2% liked)
Programming
17313 readers
310 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It broke vim compatibility with this one change. That is super easy to support for painless migration. A real no brainer imo. The docs don't explain your easy fix either. The key to making change faster: make it easier for people
What do you mean, the docs don't explain the fix? One of the most prominent topics in the documentation is how to migrate from vim: https://neovim.io/doc/user/nvim.html#nvim-from-vim
Excellent, TIL. It should be bash scripts though. Setting strange write modes and obfusticating paths, combined with a set and a let (now having to go learn the difference) isn't something I would recommend to anyone.
Add
alias vim=nvim --vimrc-compatibility
to your ~/.bashrc would be my prefered migration pathI'm sympathetic to the desire for an "install and forget" drop-in Vim replacement, but...don't you think that this runs contrary to the purpose of Vim/NeoVim as a flexible, customizable editor? If you're an advanced enough user to have a nontrivial vimrc, then it's entirely possible that you'd also want different configurations for vim vs nvim, and that you'd want to be able to switch between them easily if you discover something doesn't work in nvim (especially since nvim is not yet at version 1.0). It's also probable that a lot of Vim users wish that more classic Unix/POSIX tools followed XDG, rather than requiring rc files in your home directory. As for Bash, not everyone uses it, there's no reliable way to automatically insert content into a bashrc file without potentially screwing things up, and Windows doesn't even have a reliable way to run a Bash script (assuming some version of Bash is even installed).
I do think it would be reasonable for the neovim installer (on all systems) to have an option to create an init.vim file that reads your vimrc, and possibly even to create a shell alias as you describe. But these should definitely be opt-in, not opt-out.
For me vim is one of those things that just works. It's ever present, reliable, and dependable. The simplicity of it mirrors the unix way and my usage of it is so closely wrapped in screen, /tmux, bash, gnu-coreutils, and a few terminals over the years that any change is going to have me asking 'why?' essentially. So a command line flag allows familiarity of existing tooling to really sing, and I suspect offers far more compatibility than the suggested fix too given the length of the windows addendum to the guide
And totally agreed about out in, I use Arch btw. And I'm not in a hurry to switch to nvim either, I tried and switched back pretty quickly. Pathogen is still an amazing plugin system, leveraging my git and bash knowledge to boot
Well, sure, if the appeal of vim for you is that it "just works" on every platform you use, then there's no advantage to adopting neovim. That's no reason to complain that neovim isn't meeting your needs, though.
It's more advice than a complaint. I run on one setup. Linux terminals. And neovim has to beat that for me to switch