 Oh boy it has been a while since I've been this excited about a text editor. Let me explain why for some of you new folks because the long time watches on my channel know that I started learning Vim several years ago so that I can make more efficient edits to remote config files at my old job because when all you've got is a terminal and an SSH connection you're going to have to use some kind of CLI editor like Vim or Nano to get that job done. But before that job I was perfectly comfortable with just GUI IDEs, I was using sublime text, VS code, even notepad plus plus for making local edits to mostly Python scripts at the time on my desktop or my laptop. Now I wasn't completely unfamiliar with the command line editors. I would sometimes use Nano when I didn't have a GUI environment for installing Arch Linux or okay let's be honest for fixing Arch Linux whenever I did something to break my GUI. But as time went on and I started learning Vim more and more I got to a point where I was actually more efficient at editing in Vim than literally any other text editor. Like at this point in my life if I open up a file in Notepad or some other normie IDE I'm just going to start typing J by instinct because of my Vim muscle memory so I decided to make Vim my full-time text editor at some point. But after I left that job that sparked my Vim interest and I started learning more about software development beyond just simple Python scripts and I started working with multiple source code files and larger projects I started to want I guess more true developer features like a linter and split views with the terminal and a file tree and so on. Now of course Vim is a very extensible program that you can add all of those features into yourself and you can fully customize Vim to your liking. But and I know this might sound strange coming from a Linux user I'm not really into racing my text editor I just don't want to put a lot of time and effort into customizing my text editor I just want to use it to edit some text and I want to use it in a way that I'm going to like I want it to you know look nice just without putting in a lot of effort into making it look nice and making it function how I want. But luckily for me there are a lot of talented ricers in the FOS community and they finally turned Vim into a fully featured IDE that I really like. More specifically they changed Neo Vim the modern Vim which you should be using anyway into an IDE that I really like by packaging together a bunch of awesome plugins and themes. Now like I said you could totally just build this yourself from scratch with Neo Vim and maybe a little bit of Lua configuration and it's going to teach you a whole lot about Neo Vim just like how installing Arch will teach you a lot about Linux. But if you're like me and you just want a dope IDE with minimal configuration work on your end then NV Chad is exactly what you want because the only dependencies besides Neo Vim itself for NV Chad is nerd fonts okay so this is used for all the different icons and glyphs or whatever and of course you also need Git to download and install NV Chad but I feel like pretty much everybody has Git installed right it's not really that big deal as far as dependencies go and so once you've got your Git once you've got your nerd fonts which by the way if you're using Arch Linux the JetBrains Mono Nerd font is actually in the extra repository so getting NV Chad up and running on Arch Linux should be a breeze in fact I wouldn't be surprised if NV Chad is just in the AUR so yeah Arch users by the way as usual have it very very easy but once you've got all those dependencies installed all you got to do is run this sweet little one liner right here and then you know run a Neo Vim or actually it already has that command included so literally just run this one liner and it's going to open up Neo Vim and the first time that it opens up it's going to take a couple of seconds to configure some plugins and you know lazy load them and everything like that but once that finishes you'll have this you'll have this super sexy fully featured IDE now there's a few things that you might want to change you know one of them of course is the theme to personalize your text editor without having to you know open up a configuration file and start writing stuff all you got to do is press space plus t plus h and then it brings up this set NV Chad theme now one thing I really like about this is notice the the text that we have over on the right here right and notice how it updates in real time as I hover over these different these different themes this is the same text from the file that I was just editing you know it's the first you know a couple dozen lines or whatever a lot of the time when you're dealing with themes or whatever in other IDEs they'll show you some text but it won't be your text it'll just be some random example text oftentimes not even in the same programming language that you were editing so you have no idea how the syntax highlighting is going to look in your language but no you you don't have that with NV Chad you know you can see exactly what's going on here so you can change to whichever theme you like personally I'm a doom chad guy and speaking of the syntax highlighting NV Chad supports many different languages like built-in there's already a bunch of different languages that it has syntax highlighting for via tree sitter so if you enter the command ts install info and note the capitalization of the ts in both eyes you can see all the different languages that tree sitter has support for you can see all the ones that are installed and all the ones that are not installed it already comes you know it already ships with support for html css and javascript so this was this just perfect for front-end devs now being able to navigate to different files and folders from within the text editor is a big deal in fact that's one of the major things that I think separates the simple text editors like notepad from real IDEs and there's a number of ways to browse to different files in NV Chad so space ff is going to bring up the find files menu and here you can actually just type in the name of a file that you want in your current directory I mean you can also just scroll through and browse through it that way but if I type in main right I automatically finds the main dot rs that's in the same folder as lib dot rs and then I can open it up that way if I do it again then I can open up let's try this poem dot txt and comment below if you know what this stuff is from I know the restations do it'll open this up again in a new buffer and let's say that you've done this several times now and you've got a whole bunch of different files that are opened up across all your buffers space f plus b is going to show you files that are open just in your buffers oh my gosh that is so cool now the way that these buffers are displayed up here at the top it might make you think that they are tabs but buffers and tabs are two different things okay if I do a tab new boom you see we got our tabs over here now and it removes the buffer view okay so don't confuse buffers and tabs but nvchab makes it so much easier to navigate through your buffers because you can just do it with tab to go forward through buffers and then shift tab to go backwards through buffers this makes the buffers which are built into vim built into vm built into neo vm it's it's a feature that's there but so few vim users use it because I don't know I guess buffers are kind of hard to use by default but this makes it easier to use so it's going to increase the likelihood that you'll actually use them which is greatly going to enhance your powers as a vim user and you can also close your buffers with space plus x keys now if you want some finer grained file navigation control nvchad ships with nvim tree which can be accessed with control plus n and this lets you do a lot more than just open files okay so you can uh well let's let's show it off a little bit right so you can create a new one with the a key and then down here it's going to prompt us to give it a new name so we'll just call it test dot rs and you can rename existing files with the r key so we'll just call uh test dot rs we'll call it foo dot rs we're getting real computer sciencey with these names now and uh you can copy them to different locations with c and then p and you can also delete the files with d and then y to hit yes to delete them and uh if you ever need to go up in this directory tree here then you can just do that with the hyphen key but probably my most favorite feature of this tree thing here i don't know if it's a feature of nv tree or if it's something that nvchad just added but it's the ability for you to mark files with the m command okay so let's say that there's a whole bunch of files in this source directory right let's say that this wasn't just another you know thing from the rust book right it's a real rust program we can mark it with m and then this way it's going to be so much easier if i've got like two or three dozen different rust files here for me to focus on the ones that are important right now now another feature of nvchad that i really like that i used to just manually implement myself with command shortcuts back in the old days of them uh is shortcuts for windows navigation so in vim like editors you can split your window vertically with vsp or you can split it horizontally with sp and to navigate through these different windows in nvchad they just combine the control key with the hjkl key so the same way that you navigate throughout a file in vim is used to navigate throughout windows in vim by adding the control key so like control k that puts me up into this uh upper right hand window here control h puts me back over here and so on so yeah this is just it makes us so much more intuitive and again it makes it for i guess the vim uh novice right someone who's not very experienced with vim it probably makes it more likely that they're actually going to use this um you know split window command instead of just that being another feature that they don't touch because it's too confusing or whatever and speaking of all these different you know confusing uh key combinations stuff like that they can be tricky to learn right like i remember when i first started learning vim i actually printed out a vim cheat sheet that looked kind of like this and i just you know hung it up on a wall nearby when i was working so that i could always look at it and get used to using vim um so you might be tempted to do the same thing with nvchad but as long as you can remember this simple key combination space c plus h then you're going to have access to the uh cheat sheet and actually let me go ahead and close some of these windows real quick okay let's try space w um control w q okay control quit a window control w q all right so as you could see i'm still learning uh and vim chad a bit myself anyway if you're confused about some of the nvchad key bindings all you need to remember is space c and h and then this will give you the cheat sheet built right into your ide so that will definitely save you a little bit of toner from having to print it out and hang it up somewhere on your wall so yeah that is nvchad and you can even extend this ide further with some lewis scripts i might make a video about that in the future once i actually find some new lewis scripts to install since i'm getting back into writing rust and neo vim at the same time so i'm sure i'm gonna find a cool rust plugin to add to nvchad in no time but i hope you guys enjoyed this video if you did please leave a like on it and share it and please consider buying my merch on baste dot win if you want to help support my work 10 discount will be applied automatically a checkout whenever you pay in manero xmr have a great rest of your day