 People always ask me why I think the ZSH is the best shell and it's actually a really hard question to answer because it's not like ZSH is actually the best shell for most people because it's not like it's not the fastest It's not the easiest script in and even if you do choose to script in it You're kind of shoe-horning your script into only being functional under ZSH because it's not a hundred percent compliant with bash Which is the most prominent shell out there? So why do I think ZSH is so great? Well, the answer to that question is that it's Really easy to customize now those of you who use bash are gonna be shouting at your screen saying well Matt bash is easy to customize to and that's true as well, but I never learned to customize bash I Saw people customizing ZSH first. So when I was learning to do this, I learned how to do it in ZSH I never learned the bash way now I Should learn how to customize bash the way I want to use it because bash again is the most prominent shell But I've kind of decided that I like ZSH a lot So I've decided just to stick with that now when I say ZSH is easy to customize It's easy because there are a lot of frameworks and plugins and stuff like that that you can use In order to make it really cool You can have it adopt functions from other shells like fish if you wanted to you can create really cool prompts with it Very very easily and it's just really simple to make look really nice now It has its own downsides. It is slower than bash for sure and The more plugins you add obviously the slower it's going to get so it's definitely not something that is for everyone with all that being said if you're interested in using ZSH as your shell and You want to learn how to customize it the way I have you could do that the old-fashioned way, of course And you could watch one of my previous videos where I show you how to get my prompt and everything like that I will link that in the video description if you're interested in doing that But there is a script that is called ZSH for humans and this thing does everything for you. It's Stupidly simple and that's what we're going to talk about today. So let's go ahead and jump in So this is the github for ZSH for humans and as you can tell it's not the most Up-to-date thing that has ever existed. They don't do a lot of updates. It's not abandoned But it even says right at the beginning. There's not a lot of support a lot of the bugs will go unfixed So just know that going in that it's not the most maintained of things in the world But what it does doesn't really need all that much maintenance The things that it will do for you is it will enable syntax highlighting auto suggestions It will create a command prompt using power level 10,000 It will install fzf if it's not already installed and create key bindings for fzf Which is also really cool and it doesn't require get or pseudo or anything like that. It actually uses curl So we're gonna install this thing and I'm gonna show you exactly how easy it is to do and then we'll go through some of the features So let's go ahead and do this now in order to install this all you have to do is copy this if statement So we copy this go to a terminal, which I have one open here And I will zoom in here like so and then we'll paste this now in order to paste in a terminal You can do it either two ways control shift V like that or You can do the middle click the middle mouse button, which is the scroll wheel hit enter and it will do this now It's going to immediately drop you into a wizard of sorts So you're it's going to ask you a few questions. So in this case, it's asking you what kind of keyboard You're using are you using a PC or a Mac keyboard? Basically, it's just asking you do you have an option key? And if you are using a Mac keyboard, you choose one if you're using a PC keyboard, you'd use two So I'm going to do two now none of these require you to hit enter afterwards So don't think that you have to enter accidentally. So if you hit to enter, it would actually bypass the next question So just hit the number. So this next question is what key bindings do you prefer do you prefer the standard key bindings? Or are you more interested in using something along the lines of vi or vim? Now I'm going to choose one Just because that's what most people will probably do But if you are used to using a vim or vi mode in your terminal, you would choose two So I'm just hit one here Do you want zsh to always run in tmux now? I don't use tmux So I'm not going to do this one. But if you are a tmux user, you can make sure that zsh is always running in tmux I'm going to hit no, which is two, which is n in this case So the next question is do you use dur nv? And this is a Environment variable or a feature for environment variables. I'm not exactly sure how it works and I don't use it So I'm going to hit no on this. But if you do use this feature, it's there for you And then it's going to set up some things and it's going to ask you another question Choose installation directory for zsh. So in this case, you can use One of two directories or you could create your own directory Now the first one is going to require a sudo and that's usually where zsh is installed And the reason why that's a good thing is because then it would be installed system-wide So it would be installed for any user that wanted to use zsh The dot local directory is only going to be for you and won't need sudo I'm going to go ahead and hit one. It's going to ask me for my password I'll enter there and then it's going to do some more installing and then I'll ask another question now It's going to ask me if I want to set or add zsh to the list of shells In this case, I'm going to hit y because otherwise none of this would work And then it's going to ask me if I want to change the login shell to zsh In this case again, I'm going to hit y for yes And then I think it's going to yes, it's going to Pub us into the wizard for power level 10,000 Now here is where we're going to come into a problem because I started this without checking the dependencies because I'm a dumbass And in order for this wizard to actually function properly You're going to need to have fonts installed and I don't have the fonts installed for this to work properly But I'm going to go through it anyways because installing the fonts will take a lot while but Just know before you get started on this have the right fonts installed So you'll need a nerd font of some kind and then you'll need to be using that nerd font inside of your terminal So if you don't have all the nerd fonts installed because you're not a masochist and you don't want to download four gigabytes of fonts I don't blame you just download one of them and use that in your terminal You can also use any patched font out there if you don't want to use nerd fonts But you'd have to have some kind of patched font meaning that it has icon support I don't have any of those installed sadly. So this isn't going to look all that great But anyways, I'm going to go ahead yes here because I can see the diamond now this one here It's supposed to look like a lock But as you can see that doesn't look like a lock because I don't have the font installed. So I'm going to hit no here That doesn't look like a lock either So also going to hit no there And then you will probably if you have the fonts installed It's going to ask you another question about the debian logo if it does that and it shows the logo you'd hit yes It will also ask you probably a question about things overlapping So just make sure you go through and just follow the directions. It's really easy So in this case, it's asking us what we want to prop the prompt to look like So I'm going to hit three for rainbow And then one for unicode. This is just telling you telling it to have those cool arrows Which we call power line in the business And then this one here is going to ask if we want to show this current time And if so how so I'm going to hit three for 12 hour Because no one wants to do the math for 24 hours. That would be really hard Math is so difficult. I mean you only have 10 fingers. How are you supposed to know get up to 24? That's beside the point anyways Moving on to the next one This is asking asking for how you want the prompts to be separated in this case We're going to stick with the angled one. So that's number one And we want to be sharp. So that's also number one And then we want the end. So this is talking about the end of the Prompt to be flat. So that's also number one. Now. Do we want the prompt to be on one line or two? I'm going to go ahead two Now it's asking us. Do we want it to be disconnected? So in other words, do you want each line to have like a line between them? I'm going to hit one because I don't need the line And then it asks us if we want to have these little brackets along the side of the lines And I'm going to go ahead and say number two just for the left And then the frame color it's going to ask how Dense do you want that line that frame to be and I'm going to have it be number four And then it's going to ask us for the spacing. So do you want some padding between the prompts sure number two is fine. And then it's asking us if we want the Prompt to be concise or not. So in this case, it's going to be Something like this. So if you want uh On master if you have icons this one makes a lot more sense because it actually shows the icons In between the words where it's supposed to for me, it's not doing that because again didn't install the fonts So I'm going to hit one here now It's going to ask us do we want to enable transient prompt which just basically means that the Previous commands that you Have done are listed above the prompt itself. It's just the way it kind of works I'm going to go ahead and hit yes here And then That's it. That's all it's done. You might see a couple extra Options there for power level 10,000 if you do just again read and follow the directions It's going to really depend on what choices you've made along the way now After this, that's all that there is to CSH for humans. That's really all there is but like I said, you'll want to make sure That you've installed the fonts beforehand And if you didn't install the fonts beforehand, you can install them now and you can always rerun the wizard By doing this command here And that will just run you through the exact same thing We just went through and if you've just installed the fonts then you might end up with a couple extra questions depending on What fonts you've installed and make sure That you are that you view once you've installed the font make sure you're using it as your terminal font Otherwise, it doesn't count. Okay. So let's talk about a couple of the features that zsh for human enables So one of the things that it does is that it allows you to have auto suggestions So if I do a couple things, so the cd documents and then cd up again And you can see here how it suggests documents because we've done that in the history basically what this does is it goes back through your history and Suggest the thing that is most recent to what is what whatever command you're trying to do So if I had done pictures before this if I do cd pictures like so and then cd up again Now if we do cd again It'll say pictures or we can start typing documents and then it will start Suggesting documents now. Let's just say it's none of those things that I I was looking for downloads I could press tab and it would bring up fcf So the best way to actually use fcf is to hit control r And what i'm going to actually do before we do this we're going to cd into template Templates and see back the bubble cd into public So that we have some actual history here So now if we hit control r We'll see it's actually showing us the history and then if we type in say templates and then we can See that it narrowed it down to just that entry we enter and it'll actually give us that command So if we let's just say we moved templates to pictures I mean that's pretty dumb, but you could do that hit enter like that if we then hit control r And type in templates we now have two and you can cycle through those results by hitting the tab And once you've highlighted the one you want to use Hit enter it'll give you that command you can then run that command again if you wanted to do that So that's fcf So that is zsh for humans There are a few other Functions for it if you want to get into those you can also See how this functions with ssh you can see how you can customize it a little bit more There is not a ton of documentation for this. I'll just warn you right out of the bat So if you can't find what you're looking for on their documentation I highly recommend going to the documentation for whatever it is you're looking for so if you're having problems problems with fcf Don't go here for documentation go to the fcf github. They have better documentation than this does same thing for power level 10 Thousand they have fantastic documentation so you can go to there Just do a google search for that and it will be better than trying to rely on zsh for humans for the documentation so That is it for this video if you have questions about this you can leave those in the comment section below I'll try to answer them I think that this is a really cool way of Installing and getting zsh set up for people who are just complete and utter noobs at this kind of thing Just run that f statement follow directions and it's done really. That's all there is to it and I think that it does provide some functionality that even just like things like oh my zsh don't actually include Because it gives you like that fun that fcf Functionality and stuff so that's really cool as well So like I said if you have questions you can leave those in the comment section below if you want to follow me on twitter You can do so at the linux cast if you want to follow me on mastodon You can do that the link for that in the is in the video description You can support me on patreon at patreon.com slash linux cast. I'd like to thank my current patrons robert said Devon patrick fred primer try devil antoine Magland jess time to steve a separate linux garrick sammel kbtd v keith andy uncle boney gary Ross mitchell j doug carbonated jeremy shunt odin martini eduardo art center alia mizlaouf merit camp jash willy peter a crucible dark 26 primus p.m Our luck one in philip. Thanks everybody for watching. I'll see you next time