It is made remarkable by the direction of the change, not for simply changing. Switching FROM vscode to vim is rather common. Switching TO vscode from vim is not.
Glad you found an editor that better suits you. VSCode has the same thing with plugins as Neovim: There's always a lot of new plugins and yes, they might also "break" your editor or conflict with eachother's keybindings. My advice is try to avoid "Fear of missing out" (FOMO) - You don't really have to update things constantly.
I obsessively update every day to avoid "Fear of Fear for updating" ... Always found it way easier to fix a lua plugin instead of having to go full web developer in VsCode
True - when I used Vim I was in danger of spending more time playing with the .init file that I was writing code. Better to just settle down with a "good enough" setup and learn to get the most out of it.
Anecdotally, I have never heard any horror stories of a VS Code plugin breaking someone's setup, and I've definitely never experienced that myself. Neovim on the other hand...
I'm using Neovim right now and I'm still relatively new to it. I'm not necessarily using it to its full potential but I think I have enough with Kickstart that I don't want to continue messing with the config unless I absolutely need something where I feel the juice is worth the squeeze. With that said, having previously used VScode, Sublime, TextMate, and Visual Studio, I genuinely think it's whatever best suits the user and a good compromise could be their editor of choice with Vim Motions. 🤙
Kickstart is just soooooo good. I knew nothing about how to configure stuff in neovim, and now i made my own neovim config, with lsp, completions and other stuff all working perfectly (btw, for the lsp and the completion, i still use a big part of kickstart code, as those really are hard to configure right lol) So kickstart is great, for learning how the config works, and potentially make your own (which you should do if you have some free time, as it's the perfect way to be then able to fix or change stuff quickly, as you know where stuff is)
Although the editor is very important for your own user experience At the end of the day, you should use the editor that helps you to produce the code needed to create projects. For work, I have the privilege to be able to use Jetbrains For my side projects, I am slowly setting up neovim. It might slow my learning process for newer languages like golang.... but in the end, side projects are ment to enlarge your knowledge base and skills. You do what feels good for you!
What prevents you from using JetBrains outside of work? Is it your home machine not being powerful enough to run it smoothly? IntelliJ has a Community Edition, which is free to use and even open source. Paired with Python/Go/Cursive plugins you can use it for non-Java/Kotlin programming too, though not as comfortably as with JetBrains' language-specific IDE variants. While IntelliJ CE does have basic syntax highlighting for HTML/JavaScript/CSS, there is NO free plugin, which would give you smart code navigation.
If you want to learn something more lightweight than JetBrains, you should consider Emacs. It's latest version, Emacs 29, has LSP & Tree-sitter support built-in, so you can turn it into a powerful IDE with very little configuration! Here is an example of how to set it up for Python: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-SbTzIt6rISg.html Emacs is a bit heavier than Neovim, but if you use the LSP ecosystem, then that will be your main source of resource consumption anyway. Emacs is also unique in many many respects, eg. it can run in graphical mode AND utilize graphical capabilities, while gracefully degrading them in terminal mode, unlike Neovim. Even if you won't stick with it, it's really worth knowing it's basic key bindings, because those are available in any program, which uses the readline library, like bash/zsh or any text field in macOS. Watch this System Crafters' beginner video at least, to give Emacs a fair consideration: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-48JlgiBpw_I.html
@@0netom Well, to be honest. To use intellij, an ide finetuned for coding java, and then trow in a plugin to use it for a different language, which isnt neatly integrated is by far my first choice for multiple reasons. I like the jetbrains applications I use at work, because they are specifically for the job. I could probably use vscode for most of the features, but not quite as good as a product specifically designed for a certain language. If i were to use intellij with a plugin for golang, i would probably have the same, or even a worse experience for using it for a different language. + intellij is indeed a resource heavy program. For java purposes, that would be great, because it is a full toolkit. To come back to my previous point. Trowing away all those memory and cpu resources for functionalities you dont use... seems like a big waste to me.
I switched back to JetBrains two years ago from vim for the most part (still use it on remote machines ofc), but not having to care about your editor setup and having all the things out of the box is so much better. No more spending hours in the vim config files to optimise them and instead simply spend the time coding.
I like this take. Not overly opinionated, just a practical "it's not what I have in mind for my workflow". I go back and forth between VSCode and vim for this reason, because while it's nice to have control over your config, it can also be annoying to need to configure all of your editor's language features by hand when it feels like they should be included with the editor. Sure, it helps you understand your environment, but sometimes it's like the configuration is at the wrong level of abstraction - VSCode has a boolean setting for formatting on save, while Neovim requires you to write your own. VSCode is quite customizable as well, but you're actually configuring what the editor does, rather than how it works. Also, nice shoutout for vim motions - I agree that most of vim's benefit comes from motions and modal editing, which you can (for the most part) bring to other editors with plugins.
@@MelkeyDev Both are good! Thanks for the nuanced video. It's exhausting hearing dogmatic arguments about which one is better/worse. They both have tradeoffs
I just can't stand vscode, I've tried it a few times and found the documentation way too long to be able figure stuff out, the community I found didn't really want to help either. I've found with vim, people jump at the chance to help you solve a problem if you need help. I may not necessarily stick with vim, but I won't be going to VSCode ever again.
If it ain't broke, don't fix it. Don't understand people saying they're constantly configuring things. My setup is based off kickstart, which I saw has moved to lazy nvim for the plugin manager, but I'm still using the version based on packer. My config does what I need, I don't need to update to the newer, shinier plugin.
I love that you are being super honest about this. People tend to think they are better to use an editor, but at the end of the day, just use what you like. I tried to use neovim sometime ago and I spent so much time trying to do simple things, that there is no reason to not use VSCode.
I wish it were that simple but the neovim community is atrocious. It's made up of people who do nothing with their lives so they have to make themselves feel superior for using neovim bragging how smart they are while spending hours trying to catch up to how good vscode is. So people who use vscode always feel like inferior developers. It's a huge issue and it's not just neovim, this excessive hostility / gaslighting is prevalent in a lot of corners of the linux community in general and it needs to be talked about and exposed more.
I use Neovim and VSCode on a daily basis simultaneously. I absolutely second everything what you said about nvim, it's config, it's plugin ecosystem, and so on. But, it's almost the same with VSCode. In my case, I tend to config VSCode in a more chaotic way, just trying to get the issue at hand out my way as fast as possible, and so it looks like a real mess with deprecated settings all over the place. :D
I used VIM years ago full time for 6 years. I switched to Atom then VSCode for exactly the same reason - plugin hell. Was looking at switching to NVIM, but this video reminded me why I switched away.
I have to disagree with the idea that "you'll fall behind fast" if you don't keep up with neovim plugins. The Primagen has brought this up many times, and I agree. "If it ain't broke, don't fix it". I'm still using an init.vim with vim Plug on the latest neovim. Why should I care about rewriting my config in lua, or installing packer, lazy, etc. I've been using vim for 20 years, and neovim from around 2018 until today, and I hardly ever touch my config. On the other hand, I can respect that it takes time to configure when you're new. I'd just be mindful that once it's setup you technically don't ever have to do that again. (unless that's your thing... and you like to tinker)
Agree with this completely. I change a couple of config lines once every three months or so - usually just a preference change. I very rarely need to change anything.
I have been using VSC + vim motions for a while for the same reasons you listed but recently I have found a good replacement, Helix. It’s not super mature but it is tackling all the issues Nvim has in this regard. It messes a bit with Vim motions but some of those changes are not bad. They feel more “organized” compared to Nvim but most importantly it offers lsp integrations as first citizen functionality. They are very well integrated and will work out of the box granted you have executables ready in your PATH. Beside that aims at having minimal but powerful configs. I think they are delivering on these fronts. They do apply that needed standardization Nvim needs without enforcing too much.
I'm always very battled with this topic. Vscode is a great editor, it's works out of the box. But the speed of nvim is just incredible, until you want to setup something new and don't understand anything nor really want to understand I guess, just have something working
I feel you Melkey. For me, AstroNvim is great after you build few custom Neovim configs. But I understand, Vim motions will always be part of any editor I use or I will not use it. VScode has neovim plugin for it and I use that one instead of Vim plugin.
I used Emacs for about 10 years. The arguments, it works and it's fast often isn't enough, yes its faster, yes it does the job, however no one tells you that you must spent time to fix stuff and you will miss lots of convenience because a lot of necessity plugins are not maintained very well or straight up dont work at all. Take for example dap-mode, one of the most common debuggers for all c based languages, while it works, the locals window has a nasty bug for the last 10 years that it keeps folding the properties each time you step in, it also tends to hide stuff on line that doesn't have the locals, not that you can step out and focus the value but sometimes you just want to see all of your properties when you're moving down the stream. Point there, at least you can debug in Emacs, something that it close to impossible with neovim. But at the end of the day it's a rat race, i know some people have it religious like the Primagen to use x instead of y if you want to from the cool kids, but the fact of the matter is that if you compile codium from source spent the same time customizing it and removing the stuff that you don't want from it, you can make it equally productive and fast as both Emacs and Neovim. But people don't do that. Ever since i switched from Emacs to codium i did exactly that, i took the repository, removing like 80 of the editor there and started building on top of it, now i have my own version that i use everyday and i couldn't be more happy, i don't even need to update as 90% of the code there is mine, so in a sense, i find this much better alternative to both Emacs and neovim, it's still electron which sucks but least everything works fine.
@@rc8s nope, I'm referring to all languages that require advanced tools such as debuggers, profilers, disassembler etc to me vim is just another text editor like notepad...
Thinking you have to constantly update a working environment to the newest "thing" just because it exists seems like a kind of illness to me. Unless the new thing actually fixes something that was truly broken or provides _game-changing_ new functionality that didn't exist, what is the point? I know things are changing rapidly with Neovim at the moment, but that doesn't mean you have to do the same, and what are you actually missing out on? The Primeagan has the right idea about this: He sets a time to re-evaluate his (completely functional) setup once every six months and doesn't allow himself to keep screwing around with it in the meantime.
That is why I use just vim without plugins except for fast commenting and syntax highlighting. If you learn the keybindings and use ctags, it works wonders
I’m sticking with VSCode for 90% of coding and Vim for the few times I gotta be on a Linux server with no GUI. And that’s it. I need to get actual shit done. I cannot waste more time configuring the editor.
I feel like you could solve all of these issues by just not updating or screwing around with your neovim config after its set up. Once I have it set up how I like I might add some new color schemes or whatever. but you don't need to be changing it all the time. I get the temptation to be messing around with it all the time though, I just think its a bad habit. Zed is cool too, it has way better built in nvim motion incorporation than the vscode extension, the navigation hotkeys are the same as vscode (I think, don't really use vscode much), and it is a million times faster. It still feels very good and snappy, not slow and bulky like vscode, and it has everything you need with absolutely no configuration. More people should try zed, its a nice in between if you don't use a lot of extensions or plugins anyway. Mac only though.
phpstorm; sublime text; cursor; vscode; neovim; vim; android studio; any text editor. More than one in the same day, without ever mind, if it makes me move forward.
I don't even started with nvim because of things you already mentioned... configuring this editor is ridiculous ... I remember my first and only try... It took me about one hour figuring out how to do the configuration ... and during first launch the only thing I saw was some red errors ... ahahahahha ... I gave up because I'm not masochist and don't have time for that kind of stuff.
Why would I use nvim when I could use vscode with vim motions? Thats where I have landed. I like vim motions. I can use them in other software the doesnt require the faff.
Glad to see that you escaped from Vim. As a Vimer (Neovim) for over seven years, I have been continuously trying to escape from Vim with some editors that are more popular among others, to better organize team dev environments. But I failed. I can't find an editor that allows me to switch window layouts freely (by vim Tabs), effortlessly pipe selected texts to the CLI, and provides the ultimate customization experience. I will break the grip from Vim one day. one day.
While neovim is great and I use it every day it is true that the configuration can be both overwhelming and time consuming. To be fair it works the same way as the VSCode extensions and for both the general advice I'd give to everyone setting them up is this: 1. Create your first config that suits your initial needs 2. Don't touch it unless there is a huge problem that is affecting your work in a negative way 3. Write down things you want to change in your editor 4. Every 3 months or so (depends on how much time you have) go to your config and fix the stuff you wrote down 5. test it and if it works, repeat the process This stops you from overconfiguring your editor (no matter what it is) and keeps you working, which is the more important part
I moved from neovim to vscode too. I did it because the emerging AI tools are better and I suspect that will make me faster than anything neovim could do for me at this point.
Thanks for this reasonable approach. I think if you have a decent laptop/PC to code (VS Code runs smoothly), then just pick the tool that works best for you. I've used Vim, Neovim, LunarVim, AstroVim and a bunch of different flavors, but eventually I always come back to VS Code. It's easier with the integrations, plugins, WSL, etc.
It's tempting to always go for the new shiny plugins, but if you keep Neovim on stable version and pin your plugins to specific commits, you really shouldn't need to change your configuration until the next stable Neovim version.
Yeah, this is one thing I couldn't personally connect with from the video. I can't imagine using nvim for years and still tinkering daily with my configs. There is of course much of this in the beginning, but I was under the impression that most settled down once they found a stable configuration that they liked and suited their workflow. I might take an hour so per month to tweak some minor things or test out a new plugin for something I wish to improve, but not much more than that.
I tried Nvim, but went back with jet brains. I just couldn’t be bothered with all the setting up. I just want to open the editor and start working. Maybe I will try it again who knows, maybe it was just not the right time for me.
I was leave that too. I'm used it for over one year and just tired. Once day treesitter just crashed but I'm need good syntax highlighting and vscode provides it OOTB and LSP OOTB too and just developer friendly. So I'm want to write code and not do atuff with my editor for all the time. I'm think the good editor is that editor you forgot about and just do what you need to do
I use NeoVim inside vscode. You can still use all the vim motions just fine but with a different set of vscode shortcuts to jump files, global search etc. it’s the best of both worlds.
Is it necessary to get more hits on youtube buddy ? At least you did not try emacs..next year may be ? To get more hits ? What a joke....you have competition like ThePrimeTime channel...or Lex Clips....or Your Average Tech Bro..the same stuff..neovim or neovim distribution are simple lua disasters in the making.... Hold on...and prepare in advance for your next switch..to get more hits...why I ditch VScode and switch to JetBrains...and 6 month later why I ditch JetBrains for ed and nano....
As a java developer and as a Mexican always i want that the process of configuration was like all frontend stuff, and i had to read a lot of english to understand all documentation and you that you mother tongue is english and your programming language is JS, you say that is dificult configure JS and neovim, stop kidding bro
I use VS Code because it gets the job done, and its easiest to standardize on for orgs. I also think while Neovim is cool, all these mythical productivity changes people talk about are completely made up. You don't need to make up a lie to use neovim, its fine to just use it because you like it, just dont make up some impossible productivity idea that isnt really there.
Smart decision! I don't even use VSCode, I prefer to pay for the JetBrains license, and if I have any issues with my IDE, I don't think twice, I open a ticket on JetBrains support. It is their business, not mine. I don't like to spend time with something that is already done and ready to use as VSCode or JetBrains.
The only problem people using neovim seem to be having, well I need to be on the master branch to get the best out of the ecosystem but some update might just break the plugins. I have been wanting to try out, running neovim of some container or have some sort of immutable versioning that could be use to roll back neovim before it broke.
I've been using neovim for a year now and I've never had a problem with breaking changes or something like this. Keep it minimal guys, vim was not made to support this whole ecosystem of plugins which are in most cases not necessary
One can spend as much time with VSCode config/plugins as with Neovim ones. If that is your way of procrastination, changing editor wont simply solve it. Yes - I spent 4 hours setting up my neovim while ago, but since then it just works. I just don't look for updates, new plugins or whatever. I just code and get shit done. But I get it. RU-vidr needs to publish content..
Thanks for this video. I was recently looking for an editor to be my main one and stumbled around many videos. I had decided on Neovim as the one (Theprimeagen got me as well). I liked the customability of it as well as once I learn it I will be able to use Vim if just logging into a server real quick. I am in school for Cybersecurity so coding probably won't be the main focus of my job anyway. But as I've gone down this rabbit hole I feel as though I'm getting lost in the config portion of it and not actually learning to use Neovim. With the points you bring up in your video, I feel I agree and will probably just use VS Code mostly. I will still learn how to use Vim so I have the ability, if needed, and will be adding the Vim Motions plugin to VS Code.
yes i totally agree with you, people says neovim saves their 11 minutes a day but they forget they west 30 minutes to configuring or managing it a day 😂LOL . Even i use neovim with lsp and other stuff but i am tired of configuring it
I use neovim. I have a pretty complicated hand-written configuration with around 40 plugins. For most plugins the configuration is kinda trivial. The most complicated parts for me revolve around lsp and completion. I'm kinda baffled when I hear people complaining that configuring neovim takes too much time. The last major refactoring was when I switched from packer to lazy.nvim, which took maybe a couple of hours in a weekend a few weeks ago. And I didn't have to do it, I just thought it looked neat, I gave it a go and I liked it. All my plugins are pinned to certain versions, so they're not randomly breaking on me. If I update my plugins and things break I can always roll back my configuration (it's under git). But in general my setup just works. If a new major neovim version is launched I can continue to use the current one until I decide I can spare a couple of hours to make the switch. Provided that I even find the new features compelling enough to upgrade. All in all, of all the time I spend at my computer maintaining my neovim setup probably takes percents of a percent.
How do you pin your packages to certain versions? Otherwise I must say that doing my neovim config from scratch has taken at least 10hrs, and to this day (about 3 weeks on from day 1) I am still thinking daily about what new plugin or rice I can add, lol. It is a major thing if you get addicted, and also if you insist on having basically all the same features as VSCode. It does take a good bit of time, especially if you know nearly jack all about Vim before starting (me).
@@spaghettiking653 I use the lazy.nvim package manager (pretty much standard these days) which has a lock file. It contains a list of all the plugins and for each of them it records the commit that's currently installed. Every time you update your plugins or add a new one the lock file is also updated. My configuration (including the lock file) is pushed to a git repo. So I can easily have the same versions of the same plugins configured the same way on both my personal computers and on my work laptop. If one day I decide that I want to upgrade the plugins, and then I want to do some work and find that some stuff is broken I can just roll back my configuration to a known good state (git reset --hard ...), do a "Restore" in Lazy (so that it goes back to the versions in the lock file) and the breakage goes away. So I don't have to deal with it in the middle of work. If I want to I can take 15 minutes during the weekend to figure out what went wrong (usually some plugin author decided to change the way their plugin is configured or whatever). So that's how I keep my neovim setup stable. As for the constant ricing... I don't know. I've been using vim since 2005 as my code editor. At some point you just find a setup that works for you and you don't feel to constantly fiddle with it. I've never used VSCode, so I don't feel l have to turn my neovim into it.
@@spaghettiking653 I wrote a long reply, but I guess YT ate it, because I don't see it here. Anyway. A package manager like lazy.nvim will pin the plugins for you (to specific commits) in the lock file. If you have your configuration and your lock file under version control (which I recommend) you can always roll back to a known stable state (git reset --hard ...) and then do a Restore in Lazy. That's what I do if I updated my plugins, went to work and I noticed some stuff breaking. I don't have to deal with it on the spot, I can just "undo" the package update by rolling back my git branch. I can then take 15 minutes in the weekend to try to figure out what went wrong. This btw rarely happens. As for the constant ricing... I've never used VSCode, so I don't feel the need to turn neovim into it. I've been using vim since 2005 as my code editor and I know what I like. I guess at some point you'll find a setup that works for you, and you probably won't feel the need to mess with it as much.
@spaghettiking653 I wrote a long reply, but I guess YT ate it, because I don't see it here. Anyway. A package manager like lazy nvim will pin the plugins for you (to specific commits) in the lock file. If you have your configuration and your lock file under version control (which I recommend) you can always roll back to a known stable state (git reset --hard ...) and then do a Restore in Lazy. That's what I do if I updated my plugins, went to work and I noticed some stuff breaking. I don't have to deal with it on the spot, I can just "undo" the package update by rolling back my git branch. I can then take 15 minutes in the weekend to try to figure out what went wrong. This btw rarely happens. As for the constant ricing... I've never used VSCode, so I don't feel the need to turn neovim into it. I've been using vim since 2005 as my code editor and I know what I like. I guess at some point you'll find a setup that works for you, and you probably won't feel the need to mess with it as much.
@@ovidiu_nl Oh, sorry your comment got deleted, I know the feeling. I see what you mean with the version control. My config is also on Git so I can restore if needed, but I didn't know how to make Lazy install the previous version of packages - do you mean you sync your entire downloaded plugins directory as well? Indeed I'm also slowly approaching the limit of things to add to the config. It's rather demanding when you're spoilt by a long stay with a very complex editor like VSCode, so I am trying to port as much of the experience I had before as I can. It's also a bit more convincing for myself to be sure that my new editor is just as capable as the one before, since it's very easily argued that Vim can lack the things you expect from a good IDE/editor :) In my case that's certainly true, since I lean a lot on autocomplete, etc. type features.
Is telescope that thing to find files in your project? If yes then just press CTRL + P and you good, or then press CTRL + P + % and start typing the symbol you want to find
I agree with this take. I remember setting up a Vim (not neovim) configuration when I was working on software running primarily on Linux and it was great but took a bunch of time. Recently I came across some Neovim videos and realized that I want to want to use Neovim but, really, the focus needs to be on the problem I'm actually trying to solve.
As a noob programmer (3 years into programming) I've tried to use vim, nvim, several times already and always come to the same conclusion, it is a waste of time for the most part, time that I could be putting on leetcode, or on personal projects, learning something more useful, I have to put it in researching and configuring the tool. Also I am 40 y/o with two 1y/o twins, (not a lot of time to waste) I don't mind learning shortcuts and motions but none of that is going to make you a better programmer it is just community gimmicks IMO. So I decided to use vscode a good debugger and that's it!
I can't explain why guys eventually leave Neovim to VS Code. But, ever since I got to know Neovim, I always get bored whenever I switch back to VS Code. Its hard to explain why I can't leave Neovim. The main problem may be trying to use a motorcycle as a car. Use Vim for what it is, not using it like VS Code! PERIOD!!!!!!!!!!!!!!!!