I Love Neovim But I WONT Use It | Prime Reacts

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
I love neovim but I never use it first off look at this look at what is this look at this confusing Landing I see I don't have I don't have a landing like this you know this feels it feels too much for me you know I I'm a simple man when it comes to Neil Van I'm a simple man okay I have these nice little things right here uh gosh and gee I use a little bit of uh you know a harp oh gosh okay L fail L fail right there I use a little bit of Harpoon play a little bit around you know just the simple things with neovim I'm a simple man I'm a simple man I love them I think Vim is the goat text editor but I actually have a confession to make now if you've seen my videos on Vim before you might think that I use a Bim for everything I love this I love this guy I already love this guy this guy is the best he's the most honest amazing developer ever but if I'm working on some big coding project I actually never use Vim I hate this guy I cannot believe this guy says these things okay this is just like this is why you can't get advice on the internet okay okay you know sure I'm an eight in Charisma but this must be like a four okay this is ridiculous now don't get me wrong I use Vim all the time to make some quick changes like I love this guy I love the fact that you're using Vim all the time you know that's what I'm talking about if I want to go into my CSS and change something here of course I will use Vim but if I'm starting a new project or sitting down for hours to work on something big I'm always going to be using vs codium I dude I hate this guy what are you doing using vs what is it little man talk to me why am I so big compared to you of course I'm using the free and open source software version of vs code I'm not using the proprietary version but for big projects with tons of different files I'm always using this for my coding now I know I'm such a hypocrite and I've even got in common saying no I can't believe you're using vs code but you might be wondering why I'm using vs codium I I do want to pause here for a second I you know I think this is I really first off there's a lot of things I really like what I'm seeing right now first off I noticed that he's not using react already a big fan okay I love what I'm hearing uh you know I mean this very well might just be htmx going on right now we don't even know very exciting this could also be something else that I'm completely unaware of I'm just gonna pretend it's htmx okay second off uh I think it's great that uh you know he's he's exploring multiple monitors you know I always make this thing where I'm always like I use them you gotta use bib but I mean the reality is is that you got to know what's out there and the fact that he has a setup neovim he's exploring it he uses it I can see some nice highlighting it means that he's taking his time and doing the right thing sure he's using Nord okay nobody uses Nord color scheme would loser uh but at the end of the day he's also out there exploring and to me that's like the biggest thing right to me that's the biggest thing is that you're out there trying to do uh exploration and understanding your system tools because after all you've probably seen some videos where people completely race their new of him to look exactly like vs code and they get all of the features all of the syntax highlighting all of the autocomplete and all of the cool features that vs code has I've even done videos in the past explaining how you can get some of the best vs code features inside neovim and the thing is if you install a million plugins and do a whole bunch of configuration you can get a version of neovim that is very similar to vs code I've even done it in the past but even after doing that after installing a whole bunch of plugins and configuring my new Vim I still stick with vs kodia most of the time so so I do want to I do want to take a pause here if your goal is to make Vim B vs code use vs code Vim will never be a good vs code it is just not Vim strength it's never been Vim strength it's never been the purpose of having Vim Vim the purpose of it is to have a really low level editor that you can customize the way you want it perfectly exactly how you want it if what you want is just literally vs code then just literally use vs code like why try to painfully make something into it like the purpose is that you create a custom experience like that's why I use what I use is because everything I do is customized it's customized into its most like thing that makes sense for me because I know for a lot of people what doesn't make sense is that here let's jump over here if I want to find everywhere that I'm using this I use leader vrr right I press too many r's in there I threw in a third one just for fun and this shows me everywhere where I use this nice little thing right here look look at all look at all those and then of course the definition but so it's like for me that makes sense right for me that doesn't make sense for you but for me it's fi it's Vim find references right if I wanted to rename something in here let's rename uh where are we where are we at let's jump over here let's rename this thing I go uh vrn for Vim rename and for me that just makes sense it just rolls off the top of my head if I wanted to see code actions uh let's go like this uh IO so IO is a module if I wanted to import I go leader VCA Vim code action for me I just like that just it just does the thing for me just makes sense upstairs it tells hey hey LSP tell me what you have right for me it's all about that minimal interaction and a bunch of key maps that make sense I tried to make it nothing like vs code I don't want it to be vs code I don't care about it being vs code right I want it to be the way I want it you know what I mean and in this video I kind of want to explain why so first things first if you want neovim to function in any way similar to vs code you are going to have to do a lot of setup now maybe you've seen these kind of pre-built neovim distributions where you can install one package and it includes all of these plugins and things all of these plugins and configurations out he's talking about like lunar Vim Astro Vim NV chat if I'm not mistaken uh which uh first off did someone just did I just get ragingly destroyed you don't look 40 but your choice of text editor sure confirms it mistakes you're going to be in this you're going to be in this YouTube video you're going to be in this YouTube video when I take when I when I ban your ass okay maybe that was okay okay maybe that was a little okay sorry that was a little a little bit uh uh a little little intense I'm sorry I shouldn't cope that hard you could come back in come back in I think did I actually do it right did I actually get you on band I can't I can't even tell normally when you say unbannon it says something I actually think you just might be banned forever I'm sorry I I'm sorry that I did I just really did I just dude it's you're still banned here unbanned there you go get the hell back in get the hell back in the startup my bad okay let's get back after this of the box so you don't need to do any setup now I have tried these before you might have heard of some of the popular ones like Astro envim or nvim Chad and these will do all of the setup work for you so you don't have to install a million plugins but they install whenever you use one of these pre-built neovim distributions it's not really the best experience because they're set up to somebody else's tastes like they have all of the keyboard shortcuts that somebody else has made and if you want to really customize it and configure it to be your own thing it's going to also take a lot of work and they can also be just as fragile as adding all of the plugins yourself and not only that but at the end of the day you have to learn how someone else set something up you have to modify your plugins in some non-standard documentation way it just doesn't make a lot of sense whereas like if you just take I mean okay first off it took me very little time to understand the neovim way of doing Lua Lua is just not hard right I can build these dumb little plugins to do what I want them to do because they're not hard sure I'm bad at parsing out and doing string parsing in Lua just because I don't I don't get string parsing hey but you don't really do that you're doing config it's pretty straightforward it's pretty dang awesome just check it out and if you're gonna do one of these like these these kind of pre-configured things check out Kickstart Kickstart is awesome uh TJ helps do it it's just a single file that gives you like the whole nine yards of how to set up everything in LSP how to do a plug-in how to have a package manager and just walks you through it so that way you can do the right thing you know I really speaking of plugins I've been talking a lot about plugins but let me just show you what I'm talking about when I'm talking about all these plugins so these are all of the plugins that I have installed and whenever you want it to look like vs code it's generally going to be a lot of different plugins in order to achieve this these are all of the plugins I use and this is just replicating a fraction of what vs code can do now the problem is with all of these plugins it's going to start to be a little bit fragile so let me just update this and every time I would update all of my plugins it would be a little bit scary because I wouldn't know if it would break something sometimes a new update can introduce some new bugs and I'll have to go and fix some issues and I can respect people who have these absolutely massive neovim configurations and they bring in even more plugins than me but it started to get to the point where I was feeling like this is not what Vim was meant to be Vim was always supposed to be this kind of lightweight text editor and just bloating it up with a million and one plugins kind of went against the spirit at least in my opinion because like I said it does become more buggy and fragile sometimes Neil Van would even just crash on me for whatever reason which didn't it happened to me too what I found is that I've been really reducing my amount I'm going to be doing another neovim rewrite uh coming up here on neovim config rewrite a refresh I'm gonna be dropping LSP zero I'll probably be dropping Mason I might keep Mason I kind of like the idea of having something that just installs LSPs for me I'll see if I can get it to work correctly with just having Mason right I don't need to know I mean I know how to install TS server if you just want to manage the actual installation of it great like I don't care you know I right but things like obviously you need this uh you need Harsha uh harshith I I never know how to say this guy's name you need the the little completion buffer I want Snippets I want Harpoon I want telescope uh tree sitter and undue tree and I've and fugitive I pretty much I have everything I need I think I'm gonna be able to make my config pretty dang small because the less plugins you have just the less problems you have you know what I mean Mo plugins Mo Problems happened before I installed all of these plugins and the more plugins you add the more bloated and slow it becomes I mean it's still lightweight compared to something like vs code but after you add enough plugins to neovim it definitely becomes a lot slower than the original version with you know plugins and sometimes you can start up neovim and just have it hang for a few seconds before it actually starts up yeah it ends up happening to me a lot after I add a whole bunch of these plugins and at least in my opinion it was just starting to feel like the wrong tool for the job not to mention if you're doing anything for the web any kind of web development all of the tooling is built for vs code first and Vim second and that's that's technically not true uh at this point all the two all the tooling most the tooling is built for an LSP LSPs are kind of transparent to the actual editor that it's using and so what I mean I found most things you can you can have the thing that doesn't work is Java Java is just best done with IntelliJ as far as I can tell if you're going to do Java or jvm go use IntelliJ the rest like oh you have damn it I can have Emmett oh you you have prettier I can have prettier oh you have lint warnings I have lint warnings right like there's nothing that says uh you or I can't have it I I won't show you my work project but when I have an unused variable it's marked as a failure because in the project I'm working on the lint failure is that any unused variable is a failure level inside of eslint it just works debugger is the one thing that does not work but I'm also not 100 convinced I like using debuggers to begin with I have always been kind of a printf guy working on Hardware getting started in Hardware has always kind of been that like it's always stuck with me that for the most part I know where everything is and I just like to be able to fire it up really quickly and ultimately at the end of the day I often don't try to solve things with a debugger I usually try to solve them with a test if I can't instantly recreate the problem and just make a test go straight to the function or the set of functions I think are a problem then I I don't feel like I've done a good job with my code because I want to be able to rapidly iterate right if you're launching up a debugger to go figure out why you're doing something wrong in some small place it makes it feel feel weird to me now obviously there's the whole HTML side of things uh is it better done in Chrome or is it better done in vs code I think Chrome's a pretty nice place to be right if you're doing a bunch of HTML stuff it makes more sense inside of chrome than it does inside of vs code anyway so that's kind of like my copium yeah I'm heavy on the copium I admit it I'm I'm full copium but it makes me feel better like that's why I structure my code in such a way that I never have to worry too hard I always have you know I always make sure that I pre-think about inputs coming into all my tools so I can run everything via the command line and standard in right so that way if I feel like there's a problem oh there's a problem here grab a session this is what a session likes it looks like pipe it right in so that way I have offline processing and I can iterate super super fast so for me it's just I've never really had a huge debugger need for most things I do I don't know even if Vim gets some of the tooling at all because most web developer usually just you see when an error is like hey this line here's an error almost always that you can solve the bug just by looking at the line uh because at that point if you have enough contacts on the pro program it's just straightforward to go oh it's undefined or oh it's this instead of that boom or using visual studio code and so all of the extensions and things like maybe a new framework comes out like Astro someone's saying if not LSP zero then what uh just write your own LSP stuff I've been really enjoying doing uh here JS perfect is it inside JS perf do I have it inside JS perf hold on uh no I don't have it inside of JS perf what is it uh LSP debug tools uh LSP debug tools like right here I have this as kind of like a little uh you know you can just you can just get going but if I go into Lua LSP init I I can go in here and I have something that just goes in a knits my LSP for me and does everything to the level I wanted to passing in command line arguments that I want to this is build for my project so I can restart so while I'm building an LSP this allows me to have like a quick utility to attach to every buffer and to restart my LSP whenever I want because I'm I'm developing more than one LSP at this point that I really like having this tool so I realize how simple it is you don't really need LSP zero LSP config will do more than enough and all you have to do to make LSP effectively config works is that you do something that looks like uh you know LSP config.ts server dot setup boom and it sets it up if you need to customize it you customize it you know what I mean but you don't need all of that LSP zero it the problem with LSP zero is that you're learning a plug-in that uses a plugin that uses a plugin that uses the system so you're just like there's so much to it that when you try to actually do the thing you have to go through so many layers of abstraction that I find it difficult to actually do the thing you know what I mean even though they've done a very good job with it I'm not saying they haven't done a good job with it and I am happy I used it for one year I'm almost up for one year now at this point using it and I just find some things become really annoying when I need to edit something it's always going to be available for vs code first because that's what these companies build their extensions for and there are some things that just work better in vs code like typescript is one of them he forgot his other little double quotes right here do you see that that's why it's tree sitters all goofed up yeah you're looking at this or it's not Teresa or sorry vs code doesn't use tree sit or they use regexes that's why this thing keeps on matching all the way through most commonly cited examples of something that just works better in vs code so if you're working with typescript then vs code can do a lot more for you than any of him I'm talking about autocomplete and just a lot of features that make it a lot nicer to work with it's unfortunate but the tooling is still better in vs code I don't know I guess to the point where neovium starts to feel like a second class editor because it is always getting the leftovers pretty much and all of these official packages like this was built by Astro by the official Astro team this extension for vs code and it was only ported to neovim as an afterthought by some community members it's an it's a language server though so it's it's not an afterthought the thing is is that for you to have integration with a language client or with a language server over into vs code you have to build a language client extension like this it's sure it's not very many lines in fact I'm going to go look at this because I need to do this myself but ultimately at the end of the day a language server it has no idea about the editor you're using or at least it shouldn't and another thing is just that vs code has all of these things out of the box it has a whole bunch of nice useful features all of the syntax highlighting all of these language servers out of the box you don't have to configure everything and for everything that you can do in vs code there is usually a way to do it in neovim but it generally requires a lot of configuration and setup in order to actually get it working and it got to the point where I was just wondering is it even worth it or not like I understand that people want to perfectly configure their neovim exactly how they want it to be and U of M really gives you that kind of customizability that vs code doesn't I understand the sentiment because that's why I use Linux over Windows that's why I learned the Vim bindings at first when you use something like Linux it takes a long time to set up and configure but you kind of reap the rewards after that because you save a lot of time and headaches using Linux as opposed to something like Windows yeah but for me I never got that feeling when I was using neovim so I would spend a long time configuring this and setting everything up to how I wanted it to be but it was just never quite as good as how I had an in vs code and I understand that vs code is a lot more bloated than neovim it's written in electron which a lot of people hate and especially if you have an older laptop I can definitely understand why a lot of people would be using neovim over vs code it's just going to be faster most of the time but at least for me vs code still runs fine on my computer my computer is not that ancient it's a few years old but it can still run vs code just fine so for me I never got that feeling where working with things in neovim is so much better than vs code like some people report and of course if you don't mind doing some extra work fixing things in neovim and doing a whole bunch of manual configuration then neovim will probably still be better for you but at least for me whenever I open up my code editor I want to just work I don't want to have to fix some error that was just recently introduced with a plug-in update so over the years I would just use vs code more and more until I found myself not really using neovim for much more than just some small tweaks and changes so one thing I do want to say is that Vim motions are the most important thing you can do right if you could if you could learn Vim motions out of anything use Vim motions right like that's the thing is that that will be the thing that will give you the most bang for your buck learning to edit your code effectively learning to type learning to be one with your tool like that's going to make more difference in your day-to-day life than almost anything else right that's why vs code is not that's why it's not my first suggestion when people say what should I start with I say start with Vim motions the Motions I don't care about your editor start with the Motions it's going to reap rewards add infinitum right like it just keeps on going and so just start there uh start there and then if you never want to move forward don't ever move forward if you want to keep doing it right keep going as much as you want I don't care uh that's just the way that's you know some people they're more Curious in certain things and other people aren't and they don't care you know it that part doesn't matter it's attempting to figure out what is most efficient and being willing to learn things you don't understand to begin with I think is the thing that I I like to see in devs right because that's why I'm starting to do this kind of functional language looking at is because I've never done a functional language and people say it's so much better but it feels extremely unintuitive it's very backwards from how I approach things but at the end of the day if I want to know what is really really great to use and can I be fast with it I have to be willing to put myself through a level of discomfort to become better I always relate it to golf right golf you have to hold the club in such a weird way right you like intertwine your fingers you hold it in a certain way you have to make sure things are pointing at you you can't squeeze with your finger right your forefinger should not be being you shouldn't be squeezing with certain things like there's all these weird things you do that are completely unnatural but at the end of the day it makes you a better golfer which is totally strange right it's totally different than what you're used to so is something not being intuitive immediately bad no can it be long-term reward reaping yes so the emotions use them it's that simple and I'm sure there's going to be somebody in the comments section saying that if I configure any of them correctly then I wouldn't be having these issues but in my opinion it just wasn't working oh yes golf reference I was not to say that I don't use the dim key bindings of course I use the vimkey bindings and I've been playing golf for like a year okay I go I go I play like I can't play 18 holes I don't have enough time I take my kids and we go and play like three or four holes that's it and just because we don't ever have enough time to go do that and we just go and play uh you know hopefully about one night a week and I just find it so much fun the kids are fighting it's so much fun we're just having like a competition who can get stuff in uh with uh the less amount of Strokes I give them candy it's all great times right all the things that kids like and it's a lot of fun died vs code view it on here I have vs code neovim plug-in of course you should be using the vs code neovim extension and not the Vim emulation plug-in that they also have because that is just a buggy mess this works so much better because it actually integrates any of them inside your editor so basically this right here is a neovan window right here and I can just move around but of course I also get all of the features of vs code on top of it so of course I would never betray my Vim Roots by not using the actual key Bindings that would be ridiculous but as for the actual editor I still prefer to use vs codium now of course you're welcome to use whatever you want I just wanted to offer a different perspective from all of the Vim purists because some purists will say that you have to use vim and new of him for absolutely everything and if you use something like this then you're betraying the spirit of Vim I don't believe any of that and I think that you can use whatever you want as long as it makes you more productive so I wanted to say that if you love Vim but you don't necessarily love the experience of editing in Vim then that's totally fine use whatever tools you want just please don't call me a soy Dev in the comments okay that would make me really sad what a great bait at the end did you see that please don't call me a soy Dev boom he's gonna get so many soy Dev comments and oh man just gaming just gaming that YouTube algorithm look at him go just gaming what a genius you know how many times you know how often and how easy it is to put like typos or to put stupid stuff or to say something incorrectly and people will correct you inside the comments constantly it is the easiest way to drive engagement it's just you say Jason and people are like right why I don't know why do they I don't know chat Jeopardy people love that people love it ah that was good you know I feel like I don't really know very I don't know any personally I don't know any quote unquote vimpiris that force you to do something that are like you can only use Batman that's it um I don't know I don't know anybody like that but at the end of the day I hope I just want you to enjoy your your editing experience enjoy it have a fun time because guess what you're gonna be inside your editor for the next rest of your life you might as well enjoy it a little bit more you might as well make it the way you like it so whatever gets you to that end goal enjoy it my friend the name is I banned mistakes and maybe I made a mistake okay maybe I made a mistake
Info
Channel: ThePrimeTime
Views: 94,177
Rating: undefined out of 5
Keywords: programming, computer, software, software engineer, software engineering, program, development, developing, developer, developers, web design, web developer, web development, programmer humor, humor, memes, software memes, engineer, engineering, Regex, regexs, regexes, netflix, vscode, vscode engineer, vscode plugins, Lenovo, customer service
Id: h0YWSS9tfao
Channel Id: undefined
Length: 23min 21sec (1401 seconds)
Published: Mon Aug 21 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.