Using this tool is a HORRIBLE idea if you're serious about the CLI & Linux
Read full transcript 8 segments
-
hey guys last night I was relaxing and hey guys last night I was relaxing and was watching a couple of YouTube videos was watching a couple of YouTube videos was watching a couple of YouTube videos and then I came across this one it's and then I came across this one it's and then I came across this one it's about Z oxide it's basically uh about Z oxide it's basically uh about Z oxide it's basically uh supposedly a improved version of the CD supposedly a improved version of the CD supposedly a improved version of the CD command on Linux and as I was watching command on Linux and as I was watching command on Linux and as I was watching the video I was starting to form a few the video I was starting to form a few the video I was starting to form a few quite strong opinions right away so I quite strong opinions right away so I quite strong opinions right away so I figured I would I wanted to go through figured I would I wanted to go through figured I would I wanted to go through the video and share my opinions with you the video and share my opinions with you the video and share my opinions with you I'm not going to go through the entire I'm not going to go through the entire I'm not going to go through the entire thing uh I will post the link below of thing uh I will post the link below of thing uh I will post the link below of course course course and first of all I think this is a great and first of all I think this is a great and first of all I think this is a great Creator dreams of autonomy he does a Creator dreams of autonomy he does a Creator dreams of autonomy he does a great job in his editing so I'm not great job in his editing so I'm not great job in his editing so I'm not trying to bash him at all but um I'm trying to bash him at all but um I'm trying to bash him at all but um I'm just going to get into it and I'll share just going to get into it and I'll share just going to get into it and I'll share my opinions so CD works as I said none my opinions so CD works as I said none my opinions so CD works as I said none of this is special however after you've of this is special however after you've of this is special however after you've used Ze oxide for a little bit that's used Ze oxide for a little bit that's used Ze oxide for a little bit that's when things start to become interesting when things start to become interesting when things start to become interesting let's say I want to make some changes to let's say I want to make some changes to let's say I want to make some changes to my neovim config in order to do so I my neovim config in order to do so I my neovim config in order to do so I need to navigate to the directory that need to navigate to the directory that need to navigate to the directory that contains my neovim configuration files contains my neovim configuration files contains my neovim configuration files this is all the way in my home. config this is all the way in my home. config this is all the way in my home. config envm l/ custom directory which is nested envm l/ custom directory which is nested envm l/ custom directory which is nested pretty deep in order to get there with pretty deep in order to get there with pretty deep in order to get there with CD I have to use the full path every CD I have to use the full path every CD I have to use the full path every time which can be rather tedious the time which can be rather tedious the time which can be rather tedious the only way is to speed this up are by only way is to speed this up are by only way is to speed this up are by using either my zshell history or using either my zshell history or using either my zshell history or defining a custom Alias for any defining a custom Alias for any defining a custom Alias for any directories that I use frequently yeah I directories that I use frequently yeah I directories that I use frequently yeah I I do this all the time so I use fuzzy I do this all the time so I use fuzzy I do this all the time so I use fuzzy file finder some some Linux seniors um file finder some some Linux seniors um file finder some some Linux seniors um even consider that to be a luxury and it even consider that to be a luxury and it even consider that to be a luxury and it is but the creating aliases I do that
-
is but the creating aliases I do that is but the creating aliases I do that all the time I have tons of them in my all the time I have tons of them in my all the time I have tons of them in my bash RC with Z oxide however if I want bash RC with Z oxide however if I want bash RC with Z oxide however if I want to get there quickly all I have to do is to get there quickly all I have to do is to get there quickly all I have to do is type in Z envm custom and it takes me type in Z envm custom and it takes me type in Z envm custom and it takes me straight there yeah that's pretty straight there yeah that's pretty straight there yeah that's pretty awesome so how does it work well as I've awesome so how does it work well as I've awesome so how does it work well as I've been navigating around Z oxide has been been navigating around Z oxide has been been navigating around Z oxide has been working in the background adding weights working in the background adding weights working in the background adding weights to my most frequently visited paths this to my most frequently visited paths this to my most frequently visited paths this means that if I want to to jump into a means that if I want to to jump into a means that if I want to to jump into a directory that I've already visited with directory that I've already visited with directory that I've already visited with Ze oxide I can do so using path Ze oxide I can do so using path Ze oxide I can do so using path fragments rather than specifying the fragments rather than specifying the fragments rather than specifying the entire thing Ze oide will then use its entire thing Ze oide will then use its entire thing Ze oide will then use its internal matching algorithm to determine internal matching algorithm to determine internal matching algorithm to determine which path to use this algorithm has which path to use this algorithm has which path to use this algorithm has four main properties the okay so the way four main properties the okay so the way four main properties the okay so the way it works then is that it learns your it works then is that it learns your it works then is that it learns your from your history where you've been and from your history where you've been and from your history where you've been and then if you type in a few words then it then if you type in a few words then it then if you type in a few words then it will sort of intelligently guess the will sort of intelligently guess the will sort of intelligently guess the path from it path from it path from it but when I look at this I I I still have but when I look at this I I I still have but when I look at this I I I still have to type three words right it is not like to type three words right it is not like to type three words right it is not like you you you do a few keystrokes and you you you do a few keystrokes and you you you do a few keystrokes and you're there you're still typing three you're there you're still typing three you're there you're still typing three words so I I like I I'm finding this a words so I I like I I'm finding this a words so I I like I I'm finding this a very hard cell really I think this is very hard cell really I think this is very hard cell really I think this is okay will then use its ENT let's let's okay will then use its ENT let's let's okay will then use its ENT let's let's um keep the opinions for for a bit and um keep the opinions for for a bit and um keep the opinions for for a bit and let's just finish watching watching let's just finish watching watching let's just finish watching watching algorithm to determine which part algorithm to determine which part algorithm to determine which part to use to use to use this within the path in the same order this within the path in the same order this within the path in the same order component of the path for example Works
-
component of the path for example Works component of the path for example Works none of my path entries end with tools none of my path entries end with tools none of my path entries end with tools as their last component okay so even as their last component okay so even as their last component okay so even when it doesn't find a match then you when it doesn't find a match then you when it doesn't find a match then you risk um you you don't you risk not even risk um you you don't you risk not even risk um you you don't you risk not even having any action of your having any action of your having any action of your typing the highest weight being chosen typing the highest weight being chosen typing the highest weight being chosen in my case directory has been the last in my case directory has been the last in my case directory has been the last access time was creating aliases which access time was creating aliases which access time was creating aliases which are typically static and require you to are typically static and require you to are typically static and require you to have to create forget when that that's have to create forget when that that's have to create forget when that that's where another feature of Z oxide comes where another feature of Z oxide comes where another feature of Z oxide comes in handy in order to enable this feature in handy in order to enable this feature in handy in order to enable this feature we need to install another package on we need to install another package on we need to install another package on our system this ISF in a fuzzy way pretty cool but by ISF in a fuzzy way pretty cool but by itself it's not that useful however when itself it's not that useful however when itself it's not that useful however when combined with in a fuzzy you find a tool combined with in a fuzzy you find a tool combined with in a fuzzy you find a tool for the terminal if I install it using for the terminal if I install it using for the terminal if I install it using Pac-Man and then run it you can see how Pac-Man and then run it you can see how Pac-Man and then run it you can see how it works it lists all of the files in my it works it lists all of the files in my it works it lists all of the files in my directory and allows me to search for directory and allows me to search for directory and allows me to search for them in a fuzzy way pretty cool but by them in a fuzzy way pretty cool but by them in a fuzzy way pretty cool but by itself it's not that useful how so what itself it's not that useful how so what itself it's not that useful how so what does he mean with not that useful like does he mean with not that useful like does he mean with not that useful like if I'm in my home directory and I go to if I'm in my home directory and I go to if I'm in my home directory and I go to config and if I press contrl t i and config and if I press contrl t i and config and if I press contrl t i and then invm I'm I'm there I can see then invm I'm I'm there I can see then invm I'm I'm there I can see everything like everything like everything like ality I can even just find the themes ality I can even just find the themes ality I can even just find the themes file tomal like it it already has that file tomal like it it already has that file tomal like it it already has that functionality and even you've you you functionality and even you've you you functionality and even you've you you can view it um live while while you are can view it um live while while you are can view it um live while while you are typing right so but even like you can typing right so but even like you can typing right so but even like you can even just if I'm in the config directory
-
even just if I'm in the config directory even just if I'm in the config directory I press T and if I do all toml then I I press T and if I do all toml then I I press T and if I do all toml then I will get all of the toml files here or will get all of the toml files here or will get all of the toml files here or allaha the and everything matches allaha the and everything matches allaha the and everything matches already so I I I really don't see why already so I I I really don't see why already so I I I really don't see why why you need Z for that combined with Z why you need Z for that combined with Z why you need Z for that combined with Z oxide it becomes incredible if I type in oxide it becomes incredible if I type in oxide it becomes incredible if I type in the Z command which stands for Zo oxide the Z command which stands for Zo oxide the Z command which stands for Zo oxide inter interactive we're now shown an FCF inter interactive we're now shown an FCF inter interactive we're now shown an FCF window containing a list of all the window containing a list of all the window containing a list of all the directories we visited using Z oxide in directories we visited using Z oxide in directories we visited using Z oxide in descending order of their score I can descending order of their score I can descending order of their score I can scroll through this list using crl p and scroll through this list using crl p and scroll through this list using crl p and crl N or I can just search for a crl N or I can just search for a crl N or I can just search for a directory with fuzzy finding by typing directory with fuzzy finding by typing directory with fuzzy finding by typing out the name by doing so I can then out the name by doing so I can then out the name by doing so I can then select the entry I want and I'll be select the entry I want and I'll be select the entry I want and I'll be navigated to it as well as the Z command navigated to it as well as the Z command navigated to it as well as the Z command you can also bring up an interactive you can also bring up an interactive you can also bring up an interactive menu whilst you're typing out your menu whilst you're typing out your menu whilst you're typing out your terms I'm I'm finding this a hard cell terms I'm I'm finding this a hard cell terms I'm I'm finding this a hard cell like in my in my home directory if I like in my in my home directory if I like in my in my home directory if I press control T and if I do ality or press control T and if I do ality or press control T and if I do ality or whatever I want to find it will already whatever I want to find it will already whatever I want to find it will already find it like there's no added value of find it like there's no added value of find it like there's no added value of having a score okay you see your most having a score okay you see your most having a score okay you see your most recent ones but if I do contrl R I can recent ones but if I do contrl R I can recent ones but if I do contrl R I can already see my most recent uh already see my most recent uh already see my most recent uh directories that I've navigated to so um directories that I've navigated to so um directories that I've navigated to so um to do so start typing out the prefix of to do so start typing out the prefix of to do so start typing out the prefix of the directory you wish to change to then the directory you wish to change to then the directory you wish to change to then when you want to bring up the menu press when you want to bring up the menu press when you want to bring up the menu press the space key followed by pressing the T the space key followed by pressing the T the space key followed by pressing the T these off or incremented database which these off or incremented database which these off or incremented database which is Handy if Z oxide resolves to any is Handy if Z oxide resolves to any is Handy if Z oxide resolves to any through this menu you can either or through this menu you can either or through this menu you can either or oxide definitely improves my workflow oxide definitely improves my workflow oxide definitely improves my workflow however there's a catch ah okay I'm I'm
-
however there's a catch ah okay I'm I'm however there's a catch ah okay I'm I'm happy he is getting into this so let's happy he is getting into this so let's happy he is getting into this so let's see what the catch is maybe he shares my see what the catch is maybe he shares my see what the catch is maybe he shares my opinion let's I mentioned at the start opinion let's I mentioned at the start opinion let's I mentioned at the start CD is one of my most used commands CD is one of my most used commands CD is one of my most used commands therefore on doing that muscle memory is therefore on doing that muscle memory is therefore on doing that muscle memory is going to be very difficult not only that going to be very difficult not only that going to be very difficult not only that but if I have to change to using the Z but if I have to change to using the Z but if I have to change to using the Z command for navigation anytime I move or command for navigation anytime I move or command for navigation anytime I move or SSH onto another machine that doesn't SSH onto another machine that doesn't SSH onto another machine that doesn't have Z oxide installed I'll need to have Z oxide installed I'll need to have Z oxide installed I'll need to adjust my muscle memory again ex results adjust my muscle memory again ex results adjust my muscle memory again ex results in the Z oxide command becoming a crutch in the Z oxide command becoming a crutch in the Z oxide command becoming a crutch to prevent this from happening I can to prevent this from happening I can to prevent this from happening I can rebind the CD command to use Z oxide rebind the CD command to use Z oxide rebind the CD command to use Z oxide instead the easiest way to do this is to instead the easiest way to do this is to instead the easiest way to do this is to just use a shell Alias however I prefer just use a shell Alias however I prefer just use a shell Alias however I prefer to take a different approach the okay to take a different approach the okay to take a different approach the okay well I'm really happy he says this well I'm really happy he says this well I'm really happy he says this already and this is exactly what my my already and this is exactly what my my already and this is exactly what my my opinion was on this too like if if you opinion was on this too like if if you opinion was on this too like if if you are are are learning if you would if say you already learning if you would if say you already learning if you would if say you already know Linux right okay say you are know Linux right okay say you are know Linux right okay say you are already familiar with the file system already familiar with the file system already familiar with the file system and you know how it works then even then and you know how it works then even then and you know how it works then even then it's going to be a huge problem if it's going to be a huge problem if it's going to be a huge problem if you're going to unlearn using CD to you're going to unlearn using CD to you're going to unlearn using CD to navigate like in my if I'm in my home navigate like in my if I'm in my home navigate like in my if I'm in my home lab directory and here here you see what lab directory and here here you see what lab directory and here here you see what I'm doing I'm pressing HL and this is an I'm doing I'm pressing HL and this is an I'm doing I'm pressing HL and this is an alias in my bash alias in my bash alias in my bash RC uh home lab RC uh home lab RC uh home lab here Alias HL home lab points to this here Alias HL home lab points to this here Alias HL home lab points to this one so if I press HL I'm in my home home one so if I press HL I'm in my home home one so if I press HL I'm in my home home lab directory instantly this is much
-
lab directory instantly this is much lab directory instantly this is much faster than Z repos H lab Z repo H lab faster than Z repos H lab Z repo H lab faster than Z repos H lab Z repo H lab for example but that aside if I'm in my for example but that aside if I'm in my for example but that aside if I'm in my home lab directory and I just do la and home lab directory and I just do la and home lab directory and I just do la and I CD and I use tab completion where I I CD and I use tab completion where I I CD and I use tab completion where I need to go I can see everything all of need to go I can see everything all of need to go I can see everything all of my options and I want to go to homar my options and I want to go to homar my options and I want to go to homar like like this is it's so fast but then like like this is it's so fast but then like like this is it's so fast but then this is how I navigate my file system on this is how I navigate my file system on this is how I navigate my file system on my local system all the time but say you my local system all the time but say you my local system all the time but say you are in a container so I go in my uh are in a container so I go in my uh are in a container so I go in my uh kubernetes cluster let me just switch kubernetes cluster let me just switch kubernetes cluster let me just switch to my home lab to my home lab to my home lab here and if I here and if I here and if I um yeah randomly I go to my home um yeah randomly I go to my home um yeah randomly I go to my home assistant then now I'm in my home assistant then now I'm in my home assistant then now I'm in my home assistant container and this happens assistant container and this happens assistant container and this happens right sometimes I need to do things in right sometimes I need to do things in right sometimes I need to do things in containers so here I can even I can just containers so here I can even I can just containers so here I can even I can just navigate around as as I'm used to I can navigate around as as I'm used to I can navigate around as as I'm used to I can go to my home directory I can list go to my home directory I can list go to my home directory I can list things out CD config things out CD config things out CD config like if I am used to using Z or fuzzy like if I am used to using Z or fuzzy like if I am used to using Z or fuzzy file finder for that matter I'm going to file finder for that matter I'm going to file finder for that matter I'm going to be struggling a lot like every time I be struggling a lot like every time I be struggling a lot like every time I have to make that context switch it's have to make that context switch it's have to make that context switch it's going to be a problem because it's like going to be a problem because it's like going to be a problem because it's like oh how do I CD to the previous directory oh how do I CD to the previous directory oh how do I CD to the previous directory again or um in my containers if I go to again or um in my containers if I go to again or um in my containers if I go to the root directory like where is the
-
the root directory like where is the the root directory like where is the where is the um app directory usually where is the um app directory usually where is the um app directory usually located right if you're used to just located right if you're used to just located right if you're used to just always relying on the AI to tell you always relying on the AI to tell you always relying on the AI to tell you where it is you're going to be in big where it is you're going to be in big where it is you're going to be in big trouble you're going to be using a lot trouble you're going to be using a lot trouble you're going to be using a lot of mental energy in to figuring out of mental energy in to figuring out of mental energy in to figuring out every time where you are and where you every time where you are and where you every time where you are and where you need to go need to go need to go so and even and as a beginner if you are so and even and as a beginner if you are so and even and as a beginner if you are beginner learning Linux learning Vim beginner learning Linux learning Vim beginner learning Linux learning Vim then picking up a tool like this is then picking up a tool like this is then picking up a tool like this is going to be disastrous for your for your going to be disastrous for your for your going to be disastrous for your for your development seriously development seriously development seriously like take my word for it you're going to like take my word for it you're going to like take my word for it you're going to be building muscle memory for something be building muscle memory for something be building muscle memory for something that you can only use on your own system that you can only use on your own system that you can only use on your own system and the first time you you find yourself and the first time you you find yourself and the first time you you find yourself in a container or on a virtual machine in a container or on a virtual machine in a container or on a virtual machine you're going to be in big big trouble so you're going to be in big big trouble so you're going to be in big big trouble so I would be highly highly cautious of I would be highly highly cautious of I would be highly highly cautious of this and um I am I not going to use this this and um I am I not going to use this this and um I am I not going to use this at all obviously but this is this is at all obviously but this is this is at all obviously but this is this is dangerous territory guys I I highly I dangerous territory guys I I highly I dangerous territory guys I I highly I highly suggest you avoid this like the highly suggest you avoid this like the highly suggest you avoid this like the plague learn the Linux file system plague learn the Linux file system plague learn the Linux file system properly learn how to navigate it properly learn how to navigate it properly learn how to navigate it quickly because I seriously I don't have quickly because I seriously I don't have quickly because I seriously I don't have any problems with reaching my files uh any problems with reaching my files uh any problems with reaching my files uh quickly if you have a proper the quickly if you have a proper the quickly if you have a proper the directory structure so even if I want to directory structure so even if I want to directory structure so even if I want to go to all my repos and then in here I go to all my repos and then in here I go to all my repos and then in here I want to find my homar directory I just want to find my homar directory I just want to find my homar directory I just use FCF and here I am I'm in my um
-
use FCF and here I am I'm in my um use FCF and here I am I'm in my um homart directory here no no problem I'm homart directory here no no problem I'm homart directory here no no problem I'm here already like how quick was that do here already like how quick was that do here already like how quick was that do I need AI for that no if I'm in my uh I need AI for that no if I'm in my uh I need AI for that no if I'm in my uh home directory and if I go to my uh home directory and if I go to my uh home directory and if I go to my uh config config config directory then at least I know I have directory then at least I know I have directory then at least I know I have all of my config files here and I want all of my config files here and I want all of my config files here and I want to have my key by Maps file okay I I to have my key by Maps file okay I I to have my key by Maps file okay I I took go into that one and like that it's took go into that one and like that it's took go into that one and like that it's it's not it's not a problem at all sorry it's not it's not a problem at all sorry it's not it's not a problem at all sorry I just opened the keymaps at Lua and I just opened the keymaps at Lua and I just opened the keymaps at Lua and here I am it's it's not a problem at all here I am it's it's not a problem at all here I am it's it's not a problem at all I don't need AI for this I don't need I don't need AI for this I don't need I don't need AI for this I don't need intelligent history uh for this and even intelligent history uh for this and even intelligent history uh for this and even if you want to just check your history if you want to just check your history if you want to just check your history your most recent commands just type the your most recent commands just type the your most recent commands just type the history command or press contrl R and history command or press contrl R and history command or press contrl R and search your history search your history search your history so so so yeah tough cell I think it's going to be yeah tough cell I think it's going to be yeah tough cell I think it's going to be disastrous s development if you're disastrous s development if you're disastrous s development if you're learning Linux and I would avoid this learning Linux and I would avoid this learning Linux and I would avoid this like the plague and again I'm not like the plague and again I'm not like the plague and again I'm not bashing this guy I think he makes great bashing this guy I think he makes great bashing this guy I think he makes great videos and I uh he it has improved his videos and I uh he it has improved his videos and I uh he it has improved his workflow well I'm happy for him and if workflow well I'm happy for him and if workflow well I'm happy for him and if you are only working on your own system you are only working on your own system you are only working on your own system and you're never going to be planning on and you're never going to be planning on and you're never going to be planning on going into a container yeah okay do what going into a container yeah okay do what going into a container yeah okay do what makes you happy I suppose but uh if you makes you happy I suppose but uh if you makes you happy I suppose but uh if you want to become a good engineer if you want to become a good engineer if you want to become a good engineer if you work if you want to be an infrastructure work if you want to be an infrastructure work if you want to be an infrastructure engineer who works in containers avoid engineer who works in containers avoid engineer who works in containers avoid this end of rent
Summary
The main theme is the analysis of Zoxide, an improved version of the CD command for Linux. The discussion references Zoxide's ability to learn frequently visited paths and its intelligent path matching algorithm. The practical takeaway is that Zoxide offers a more efficient way to navigate directories by allowing shorter, intelligently guessed path fragments instead of full paths, improving user productivity.