The quality of this video and value of content led me to believe I had discovered a channel full of hidden gems. Then I found out you only have 3 videos. DONT STOP CREATING CONTENT PLEASE
@@kumarraj197 Yes, but sometimes I used pushd to go to a specific dir and used popd to go back to the last directory. So if I only need that simple one-time-back-functionality cd - is the perfect fit. So the only advantage of pushd+popd is the stacking functionality but I rarely need that.
I had heard about zoxide for a good while now, but I stubbornly kept using 'cd' because.... minimalism and all that. However, I caved about two days ago, since I was getting tired of cd-ing full paths / tabbing. So far, it's been great! I'm starting to think I won't be going back! :D
Note that the 4DOS command shell, from the 1980's, which became 4NT and now _Take Command_ , has had fancy cd features. It doesn't do multi-fragments like that, but it does remember the full paths of directories so you can give it just the final name, use a CDPATH variable, cd history, and more.
4dos was great. Another feature I really liked was you could just add another . to go up another level. So cd .... instead of cd ../../.. (or ..\..\..)
What I do is more of a direct improvement to the path-specific cd aliases. Zsh includes a CDPATH, a set of paths, subdirectories of are considered cd-able If you have ~ in your CDPATH, for example, then you can, from any working directory, do `cd Documents` to cd to ~/Documents I have a bookmarks directory in my CDPATH full of symlinks to various directories of note This makes cd-big to them real easy, and they’re also more quickly available to get a path to a subdirectory (for things like `nvim ~/bookmarks/a_link/whatever` I also have a simple little script to “link a link to CWD in bookmarks` It works great for me! And it’s all very simple to use, and there’s never surprises or.unexpected behavior
CDPATH is awesome. Combined with `set completion-ignore-case on`, fzf for Ctrl+R and possibly autocd you’d get a pretty sweet experience, even with good old bash. But these features are also available for zsh and others.
@@st3ppenwolfjust use normal emacs bookmarks, much more sophisticated, u can literally bookmark arbitrary elisp functions (e.g. open up multiple buffers, paste ish in, run external procs, initialize ur death star, fire ur lazor)
I'm considering switching to zoxide just because I have a lot of things in filestructures that are just buried enough and with other folders in the directories that are just similar enough that I need to go to 3 or 4 chars to get a unique completion.
Your channel seems really new, so just wanted to say this was a really really high quality video! Absolutely loved it! Looking forward to your content in the future.
How does zoxide work in terms of tab completion? If I have to actually type "z mydirectory otherdirectory" that might be a deal-breaker for me: it would be much faster to do traditional "cd /somedirectory/mydirectory/src/otherdirectory" if the actual keystrokes are for example "c d / s o m y o t ".
There's no tab completion if you're not specifying an actual path. Probably would be hard to make it useful given that a word could be any part of any path segment. But you don't need to type out full path segments so you don't really need completion. You can just type out any specific enough part. In essence, it's as if you did tab completion after every word but without actually having to do the completion. The only time where this doesn't work as well is if you have a lot of ambiguities with common prefixes and want partial completions. Personally, I still use regular cd when I'm navigating through the file system and don't yet exactly know where I'm going because zsh's completion list and fuzzy partial auto-complete are amazing and I wasn't able to get the latter to work with zoxide. But I use zoxide to jump to known places, especially all the different code repositories. They generally have unique enough names that I just need a few letters to specify the exact target so it's definitely much faster than doing a bunch of tab completions. And you can configure it so that regular cd still adds paths to the zoxide database.
This is nice. But I like right-clicking in Windows Explorer and using the "Open with PowerShell" option. I even have a little "Favourites" list and a list of frequently visited folders. Clicking is nice.
This new channel is amazing. Please, make a video about your desktop environment or window manager and the customization seeing in the video. It's beautiful.
Wait, cd in zsh? In zsh you don't even need cd because you can simply type paths. Zsh also has the dirstack feature built-in, which remembers frequently used paths, similar to zoxide.
you also don't even need to type the full path in zsh. /c/a/b/d will jump to the first match for those characters all the way down. same with fishshell though.
this looks like a very well executed idea for an applicability quite niche. I particularly never found need for this set of functionalities in the way zoxide implemented them. Besides, with good configuration and strategic addition of packages, zsh provides a very agile behavior on the points highlighted here. Even PowerShell does. However, the caveats pointed at the end of this video also apply in these use cases too.
Been using z (jump around) for years, but this takes it to another level. Thanks, will surely give it a go. I think its the fuzzy finding that might win me over
Zsh has some really cool tab completion stuff on its own, but woah this is even cooler! (also I almost froze from trauma when you mentioned fuzzy finder, the thing I hated the most about fish)
I knew all of this because I'm a FOSS nerd yet I still watched the whole thing, because of the quality of work you've done. Not a single wasted second and precisely helpful information without any bs. I've subbed now ofc
Thanks for cdargs. I use it a lot. Bookmarks that I choose are easier for me than trying to "train" zoxide. BTW, I wrote a "mark" script to make it easy to add the CWD to ~/.cdargs
cool video, I'll give those a try! by the way, you can use Ctrl+l instead of clear to clear the window (the main advantage is that that way you don't clutter your history with clears)
This could be crazy useful. I manage a few similar servers and have to keep navigating between a few different directories on them by entering the full paths each time. This could be a huge timesaver.
Afaik oh-my-zsh has a plugin that also makes so that you don't have to use z itself to build the frequent paths database, just use cd for paths and z for jumps
For me, almost 30 years ago, I created a small batch file on windows to do pretty much the same thing. It didn't have all the smarter, but 20 directories was 90% where I needed to go.
You really closed with a BANG! That last point was what I was thinking during the whole video and then you gave a solution! Very very well crafted ending! Installing zioxide right now
Do any of you have experience with both Zoxide and just plain "cd" in fish, and if so, how would you compare the two? The fact that fish automatically suggests recent and most used completions (and does so based on current directory) leads me to think that there might not be anything gained for me, in switching to zoxide.
Wake up in the morning and watched this amazing video, i had already installed this few days ago but i was unaware this interesting features of zoxide,,, thanks manh❤
I did want to point out that similar results can be obtained natively in zsh by configuring the zstyle competions to your liking. For instance, my zsh configuration will tab complete the "cd ~//Documents" with the expansion "~/Library/Mobile\ Documents/" on my mac, and by defining additional regexes you can create much more robust completions, but the solution here seems far simpler to achieve out of the box and won't require me to experiment with regex.
For those of you wanting functionality similar to Zoxide without having to install it: You can add the **CDPATH** environment variable to your bashrc or zshrc. You would add to it as you would any other PATH variable in the shell. It allows you to `cd` to any directory in it's path regardless of where you are in the file system.
09:06 yeah, that it the good way to config any tool, I like that "tool-configures-shell" approach. But your habit to use CD command as navigation in a guessing way will remain, and you still will have problems at switching working environments
Great video, thanks! You were right about the muscle memory - I thought I'd go without aliasing the 'cd' command and I just couldn't. I kept typing cd. After adding the '--cmd cd' to the 'init' command all my problems were gone :)
this recommendation showed at a perfect time. I was wondering of a smarter or better implementation of cd aliases last week lol. great video man, will definitely give zoxide a shot
I've been using "z" for a long time but now I just found out I can just "z" to a folder I haven't been there yet? Thank you, will definitely add this to my config.
The issue i would have is that example `z dreams tools` throwing an error. It would be nice to have suggested paths or drop into the tools dir though it wasn't the last dir.
I use Rupa/z project which is similar to zoxide. I prefer that because it’s a shell script I can bake it into my dotfiles repo and not having the need of installing another executable. But the interactive mode is amazing +1
looks like a nice tool, i will give it a go and i think it will boost my productivity too i really like that i can jump directly to any folder or a external device from anywhere just by calling the name
Something I wrote for the original cd, and I'll probably combine it with this, is to store a recent list of cd and pwd. One thing z lacks (or so it seems) is to display a list of the last 20, say, directories I was in during a shell session. (This is relatively easy to do with a bash function with a couple of array variables.)
On every unix terminal I've used since 1991, I've always setup w and v as aliases for "ls - FaC" and "cd .." respectively. It has become so natural in that time. Changing now would be just weird.
I use pushd/popd/dirs instead of cd. It creates a stack of directories that can be manipulated instead of jumping to the next directory and having to remember/type paths. It comes standard in bash (don't know about other shells).
I tried this for a while, but sure to project structure and having SEVERAL git worktrees of the same project, this ended up causing me several issues. Note: this is only because even the more esoteric names in my directories are duplicated at least a few times because of my workflow. Zoxide is a great option if that's not something you'd have to contend with.
I've had the z plugin for zsh installed and I always forget to use it. Zoxide looks really nice though so I removed the z plugin that I hardly use and setup zoxide! Looking forward to using it.
such a great video! with a cooler intro command!! history|awk '{print $2}' | sort | uniq -c | sort -nr | head -10 100 make 90 cd 66 sudo 57 git 56 ls 53 clear 47 vim 45 source
Thanks for the well-served content! Just, you missed reverse-i-search (ctrl+r). No longish typing or alias required to repeatedly navigate to deeply nested paths.
This sounds quite like what I used to use during DOS era. Can't remember if it was part of 4DOS or separate app, but I could just do 'ccd foo' and it would find said folder. Don't recall how the algorithm worked, just that it was really handy app.
How do you like nushell vs bash zsh and fish? Looks pretty interesting, though I guess the problem I have with many shells is when you try to do something and an app or whatever fails because the shell is incompatible
And while this tool is awesome even for fish shell users, as a fish shell user you will have such insane conveniences, that paths never are an issue by themselves. The second you start typing the first letter of a very long command or path, fish will show you a slightly transparent suggestion of the best history match, of this path or command, which you can insert by pressing RIGHT or CTRL+F. It has much much more - but because of that you don't really feel long paths. Oh and it also is not case sensitive, so you can just hit tab to fix the case. Therefore, Fish shell + zoxide makes me even more lazy. I really like that.
Your video is really good looking! I want the entire esthetics of your computer and terminal and I also want to know how all of this is recorded with so fancy and good looking clarification animations 😍 But I guess that is a lot of time spent in video editing? Good job anyways. I've now installed zoxide with all the configurations you made! 😁 Here, have a subscribe!
This is cool, bu I admit I'll still be using ThePrimeagen's way. A special shell script for using fzf to navigate in folders that you choose. Just write the name, and your terminal jumps to the folder. I edited this script so now I can use it with fish shell, so I think I have one of the greatest experiences on jumping project to project!
Ok I like this for so many different reasons. The algorithm is simple and basically a priority queue no unnecessary AI bs. It seems that you can replace cd without breaking its eternal behaviour just add upon it I only wonder if it maintains features that are added to cd by zsh. If yes the transition would be a cake
Come back to this video because I didn't replace my cd alias... and totally forgot what the tool was! My muscle memory kicked in hard and z fell out of my head. Now... let's try that again...
For years, I've been using a lightly patched version of "autojump", which is the exact same concept as zoxide... but it uses 'j' instead of 'z', and the weighting and calculations use gradual adjustments instead of hard thresholds. At first it was great, but after a while I've mostly stopped using it. It's rarely any faster than tab completion, autosuggest, or ^R history search... and it requires more effort to remember which dirs it's likely to jump to and what their abbreviations are, and it gives less feedback about where it's going to jump. Zsh autosuggest, in particular, has made a lot of autojump's functionality redundant.
Thank you so much for these really high quality and well thought out videos. Can only agree, it’s an amazing tool that took me about a minute to start loving
This is really cool but it's something you can also do by passing fd to fzf like: ``` fd --type f --hidden --exclude .git --exclude node_modules --exclude .cache --exclude .npm --exclude .mozilla --exclude .meteor --exclude .nv --exclude .thunderbird --exclude .cargo --exclude .gradle --exclude .eclipse --exclude .java --exclude .android --exclude .m2 --exclude Franz --exclude .nuget --exclude .Trash | fzf ``` You can also run it without the excludes for simplicity, but that would perform slower, obviously.
Thank you!
Thank you so much for the support! It means the world to me
for anyone wondering 100 thb is 2.75 usd
@@qvipin lol i tought it was $100 USD 🤣
Started the video thinking "eh, cd is quick enough for me." Finished the video thinking "I should really give this a go." Well done!
I had the exact same opinion when I started looking at zoxide!
Same here! And unfortunately I was just planning to watch this vid and move on. Now I'm focused on getting this installed before my next meeting!
absolutely the same thing here!
I ❤
Sameere
Me who still navigates in the shell with "cd dir1, ls, cd dir2":
cd dir1, ls, clear, cd dir2, clear ***
@@lobotomy-victimI don't know why but I also do this
cd dir1/ *TAB TAB TAB TAB* mmmmh... dir2 enter
@@abdussomodadigun1760I do it because I feel cool when I do
I'm not even using ls to list the directory. 'ls' is the command of 'wait, let me gather my thoughts and decide what next'.
The quality of this video and value of content led me to believe I had discovered a channel full of hidden gems. Then I found out you only have 3 videos. DONT STOP CREATING CONTENT PLEASE
He have one more channel, 'dreams of code'
It has way more than 3 videos , you will love it
Narrator: "Zeee-Oxide"
Me: "Zohxide."
Me: Zoxside
Me: Zedoxide
Me: zyoxide
@@-morrow The only correct pronunciation
@@-morrownow that's the chosen one
TIL about cd -
I'm glad I'm not the only one.
I was using pushd and popd for that, but cd - is much better 🤯
@@_RafaelKr the objective is different. With pushd, u get to a specific dir. With cd - , u get to the last dir
@@kumarraj197 Yes, but sometimes I used pushd to go to a specific dir and used popd to go back to the last directory. So if I only need that simple one-time-back-functionality cd - is the perfect fit. So the only advantage of pushd+popd is the stacking functionality but I rarely need that.
And today you will learn about CDPATH
Zoxide is amazing. Never changing back.
You mean you'll never cd -
fzf?
@@chotabomjvonychi3485ye, but I guess you can still use zoxide to change to the directory you're fzfing
been using z on oh my zish for like 5 yrs. there are many other cool plugins zsh auto suggestions, fzf, fd, bat ?
I had heard about zoxide for a good while now, but I stubbornly kept using 'cd' because.... minimalism and all that. However, I caved about two days ago, since I was getting tired of cd-ing full paths / tabbing. So far, it's been great! I'm starting to think I won't be going back! :D
Both of us were convinced!
how are you going up a directory? ex: cd ..? with the rebinding cd .. no longer works?
@@johnpulawski35 I type 'z' instead of 'cd' (haven't rebound). And since I use zsh, going up a directory is just two dots '..'
@@johnpulawski35it actually does
finally a reason to type the letter z
Best comment. Hands down
a second one
@@sunofabeach9424 You can always try aliasing z to cd if u are still stuck on old habits.
alias z="zsh"
@@s1nistr433why would you create an alias for that
Note that the 4DOS command shell, from the 1980's, which became 4NT and now _Take Command_ , has had fancy cd features. It doesn't do multi-fragments like that, but it does remember the full paths of directories so you can give it just the final name, use a CDPATH variable, cd history, and more.
I relied on 4OS2 back in the day
4dos was awesome. I also used Norton CD aka ncd
4dos was great. Another feature I really liked was you could just add another . to go up another level. So cd .... instead of cd ../../.. (or ..\..\..)
I just discovered this channel, and I am really impressed by the content and the quality of your videos. Keep up the good work!
What I do is more of a direct improvement to the path-specific cd aliases. Zsh includes a CDPATH, a set of paths, subdirectories of are considered cd-able
If you have ~ in your CDPATH, for example, then you can, from any working directory, do `cd Documents` to cd to ~/Documents
I have a bookmarks directory in my CDPATH full of symlinks to various directories of note
This makes cd-big to them real easy, and they’re also more quickly available to get a path to a subdirectory (for things like `nvim ~/bookmarks/a_link/whatever`
I also have a simple little script to “link a link to CWD in bookmarks`
It works great for me!
And it’s all very simple to use, and there’s never surprises or.unexpected behavior
CDPATH is awesome. Combined with `set completion-ignore-case on`, fzf for Ctrl+R and possibly autocd you’d get a pretty sweet experience, even with good old bash. But these features are also available for zsh and others.
bash also offers CDPATH
Is there a eMacs integration?
@@st3ppenwolfjust use normal emacs bookmarks, much more sophisticated, u can literally bookmark arbitrary elisp functions (e.g. open up multiple buffers, paste ish in, run external procs, initialize ur death star, fire ur lazor)
Zoxide is good. But once you started to use tab for autocomplete cd is not as bad as shown...
me after cd into a huge directory
zsh: do yo wish to see al 1079 possibilities (540 lines)?
I'm considering switching to zoxide just because I have a lot of things in filestructures that are just buried enough and with other folders in the directories that are just similar enough that I need to go to 3 or 4 chars to get a unique completion.
specially when you are already using fzf, for me Zoxide is just overkill and unnecessary clutter.
@@zer0dragon Abandon all hope ye who enters here. :D
Your channel seems really new, so just wanted to say this was a really really high quality video! Absolutely loved it! Looking forward to your content in the future.
He has another channel called Dreams of Code.
Might have to try this. Fzf is my bread and butter for speeding up directory navigation
Sounds like Autojump with extra steps
This is the most comprehensive overview of zoxide I've seen. Well done and thanks!
How does zoxide work in terms of tab completion? If I have to actually type "z mydirectory otherdirectory" that might be a deal-breaker for me: it would be much faster to do traditional "cd /somedirectory/mydirectory/src/otherdirectory" if the actual keystrokes are for example "c d / s o m y o t ".
There's no tab completion if you're not specifying an actual path. Probably would be hard to make it useful given that a word could be any part of any path segment. But you don't need to type out full path segments so you don't really need completion. You can just type out any specific enough part. In essence, it's as if you did tab completion after every word but without actually having to do the completion. The only time where this doesn't work as well is if you have a lot of ambiguities with common prefixes and want partial completions.
Personally, I still use regular cd when I'm navigating through the file system and don't yet exactly know where I'm going because zsh's completion list and fuzzy partial auto-complete are amazing and I wasn't able to get the latter to work with zoxide. But I use zoxide to jump to known places, especially all the different code repositories. They generally have unique enough names that I just need a few letters to specify the exact target so it's definitely much faster than doing a bunch of tab completions. And you can configure it so that regular cd still adds paths to the zoxide database.
@@1vader You've convinced me to give it a try. Thanks for the response. :-)
having fzf + tab completion is enough
This seems like a lot of effort to avoid using tab completion
That tab key is just too close to capslock.
Jk, I've rebound it 😆
@@techtudei think he meant " ust idding"
This is nice.
But I like right-clicking in Windows Explorer and using the "Open with PowerShell" option.
I even have a little "Favourites" list and a list of frequently visited folders. Clicking is nice.
I have tried autojump before, but it's not being maintained. Thanks for showcasing this.
This new channel is amazing. Please, make a video about your desktop environment or window manager and the customization seeing in the video. It's beautiful.
Wait, cd in zsh? In zsh you don't even need cd because you can simply type paths.
Zsh also has the dirstack feature built-in, which remembers frequently used paths, similar to zoxide.
"shopt -s autocd" in bash. Today I learned about ˜N for entries in dirstack, which I suppose may be handy. Most of the time I use screen.
you also don't even need to type the full path in zsh. /c/a/b/d will jump to the first match for those characters all the way down. same with fishshell though.
this looks like a very well executed idea for an applicability quite niche. I particularly never found need for this set of functionalities in the way zoxide implemented them. Besides, with good configuration and strategic addition of packages, zsh provides a very agile behavior on the points highlighted here. Even PowerShell does. However, the caveats pointed at the end of this video also apply in these use cases too.
A real treat! Love this channel. I've been following your channels since the tmux video and I have never looked back.
100% the same!!
This comment an example of you looking back. Now you'll never again be able to say that about this channel honestly. The end of an era.
Your videos improved my Linux experience massively. Thank you.
Been using z (jump around) for years, but this takes it to another level. Thanks, will surely give it a go. I think its the fuzzy finding that might win me over
Zsh has some really cool tab completion stuff on its own, but woah this is even cooler!
(also I almost froze from trauma when you mentioned fuzzy finder, the thing I hated the most about fish)
I knew all of this because I'm a FOSS nerd yet I still watched the whole thing, because of the quality of work you've done. Not a single wasted second and precisely helpful information without any bs. I've subbed now ofc
Damn, these videos have such a high quality. You are great at explaining things
Great to see more cd efficiency being built. I'm still fine with cdargs, which I wrote over 20 years ago 😇
Thanks for cdargs. I use it a lot. Bookmarks that I choose are easier for me than trying to "train" zoxide. BTW, I wrote a "mark" script to make it easy to add the CWD to ~/.cdargs
Thanks for cdargs. Very useful
i aliased z to cd and zi to cdi and i am quite happy with the way it's working.
Thank you!
This feature is built-in into cd in oh-my-zsh for years
And you can install fzf and enable its plugin in your .zshrc to have the fzf feature
true and I had been using that but it gets slow with time because it’s mostly shell scripts, zoxide is faster with rust
cool video, I'll give those a try! by the way, you can use Ctrl+l instead of clear to clear the window (the main advantage is that that way you don't clutter your history with clears)
This could be crazy useful. I manage a few similar servers and have to keep navigating between a few different directories on them by entering the full paths each time. This could be a huge timesaver.
Man, I am a new Linux user. Arch BTW. And your last 2 videos have completely changed the way I work! First stow and now this!
Please do a similar detailed tutorial on ripgrep, it will be a big hit 🎯💯
I use just fzf and command history. To change directories I usually have to type 1-3 characters of the directory name.
Same, i even built a short script 'cdr' which also lists the most used dirs.
Yeah, fzf covers this while being a lot more utile
I didn't know how much I needed this tool in my life... Awesome!!!
the searching algo is impressive
Afaik oh-my-zsh has a plugin that also makes so that you don't have to use z itself to build the frequent paths database, just use cd for paths and z for jumps
For me, almost 30 years ago, I created a small batch file on windows to do pretty much the same thing. It didn't have all the smarter, but 20 directories was 90% where I needed to go.
The alias z=cd is game changer for me as this is what kept me from using it across multiple machines. Gonna set it up soon thanks a ton!
Randomly got this recommended, great video. :)
Awesome! Thank you!
Oh another channel that I will constantly binge every future video from, nice
You really closed with a BANG! That last point was what I was thinking during the whole video and then you gave a solution! Very very well crafted ending! Installing zioxide right now
Do any of you have experience with both Zoxide and just plain "cd" in fish, and if so, how would you compare the two?
The fact that fish automatically suggests recent and most used completions (and does so based on current directory) leads me to think that there might not be anything gained for me, in switching to zoxide.
Yeah, this is what I was thinking, too.
Using it already but you helped me understand it better 'fzf' & i was aliasing 'cd'. thanks a bunch.
Wake up in the morning and watched this amazing video, i had already installed this few days ago but i was unaware this interesting features of zoxide,,, thanks manh❤
Always great to see your videos popping up on my timeline. Waiting for your NAS related videos :)
Just found out about this channel and instantly subscribed because of the high quality video. Keep up the hard work 👍
I did want to point out that similar results can be obtained natively in zsh by configuring the zstyle competions to your liking. For instance, my zsh configuration will tab complete the "cd ~//Documents" with the expansion "~/Library/Mobile\ Documents/" on my mac, and by defining additional regexes you can create much more robust completions, but the solution here seems far simpler to achieve out of the box and won't require me to experiment with regex.
For those of you wanting functionality similar to Zoxide without having to install it:
You can add the **CDPATH** environment variable to your bashrc or zshrc. You would add
to it as you would any other PATH variable in the shell. It allows you to `cd` to any directory
in it's path regardless of where you are in the file system.
s/it's/its
Great content, clear, concise, and very helpful. Keep it up! You earned a subscriber.
09:06 yeah, that it the good way to config any tool, I like that "tool-configures-shell" approach.
But your habit to use CD command as navigation in a guessing way will remain, and you still will have problems at switching working environments
Great video, thanks! You were right about the muscle memory - I thought I'd go without aliasing the 'cd' command and I just couldn't. I kept typing cd. After adding the '--cmd cd' to the 'init' command all my problems were gone :)
this recommendation showed at a perfect time. I was wondering of a smarter or better implementation of cd aliases last week lol. great video man, will definitely give zoxide a shot
I need this guy color theme and .conf for my terminal, so pretty
catppuccin theme
he also uses starship and tmux (with catppuccin theme ofc)
It's catppucin
You and me are both rocking a System76 keyboard!
you just made my day, going to use it from now on, thank you!
I've been using "z" for a long time but now I just found out I can just "z" to a folder I haven't been there yet?
Thank you, will definitely add this to my config.
Very cool. Installed zoxide and looking forward to using it!
Would you make a video about your terminal configs?
it seems very interesting.
I'm a complete newbie trying to find my way on it.
The issue i would have is that example `z dreams tools` throwing an error. It would be nice to have suggested paths or drop into the tools dir though it wasn't the last dir.
I use Rupa/z project which is similar to zoxide.
I prefer that because it’s a shell script I can bake it into my dotfiles repo and not having the need of installing another executable.
But the interactive mode is amazing +1
As a student with a lot of folders to navigate between for different projects, zoxide is a life saver. I can’t recommend it enough!
Dude, when i used just two words to travel into a full path, i was shocked! This is so damn good!
looks like a nice tool, i will give it a go and i think it will boost my productivity too
i really like that i can jump directly to any folder or a external device from anywhere just by calling the name
Something I wrote for the original cd, and I'll probably combine it with this, is to store a recent list of cd and pwd. One thing z lacks (or so it seems) is to display a list of the last 20, say, directories I was in during a shell session. (This is relatively easy to do with a bash function with a couple of array variables.)
Could you please share it, I'd love to see it and try it out myself. Thanks
On every unix terminal I've used since 1991, I've always setup w and v as aliases for "ls - FaC" and "cd .." respectively. It has become so natural in that time. Changing now would be just weird.
Switched to zoxide a couple months ago and never looked back since.
Great video as always, this channel is gold!!
I use pushd/popd/dirs instead of cd. It creates a stack of directories that can be manipulated instead of jumping to the next directory and having to remember/type paths. It comes standard in bash (don't know about other shells).
I tried this for a while, but sure to project structure and having SEVERAL git worktrees of the same project, this ended up causing me several issues.
Note: this is only because even the more esoteric names in my directories are duplicated at least a few times because of my workflow. Zoxide is a great option if that's not something you'd have to contend with.
As of nushell 0.89.0 they added the ability for programs to override builtin command. So you can alias cd to z on nushell now.
I've had the z plugin for zsh installed and I always forget to use it. Zoxide looks really nice though so I removed the z plugin that I hardly use and setup zoxide! Looking forward to using it.
such a great video! with a cooler intro command!!
history|awk '{print $2}' | sort | uniq -c | sort -nr | head -10
100 make
90 cd
66 sudo
57 git
56 ls
53 clear
47 vim
45 source
Just imagine how powerful my bro will be when he discovers terminal file managers with custom bindings...
Thanks for the well-served content! Just, you missed reverse-i-search (ctrl+r). No longish typing or alias required to repeatedly navigate to deeply nested paths.
Would love this for history overall. So many code commands of certain folders or files
This sounds quite like what I used to use during DOS era. Can't remember if it was part of 4DOS or separate app, but I could just do 'ccd foo' and it would find said folder. Don't recall how the algorithm worked, just that it was really handy app.
I need desperately your wallpaper. It's gorgeous.
Awesome video.
Thanks! I get all my wallpapers from freepik. This one is:
Gradient landscape with torii gate in the water
@@dreamsofautonomy thanks! Already found it.
I am using regular z with zsh and it really is a game changer
`--cmd cd` works for nushell by now btw.
Excellent!
How do you like nushell vs bash zsh and fish? Looks pretty interesting, though I guess the problem I have with many shells is when you try to do something and an app or whatever fails because the shell is incompatible
And while this tool is awesome even for fish shell users, as a fish shell user you will have such insane conveniences, that paths never are an issue by themselves. The second you start typing the first letter of a very long command or path, fish will show you a slightly transparent suggestion of the best history match, of this path or command, which you can insert by pressing RIGHT or CTRL+F. It has much much more - but because of that you don't really feel long paths. Oh and it also is not case sensitive, so you can just hit tab to fix the case.
Therefore, Fish shell + zoxide makes me even more lazy. I really like that.
Please make a video on your terminal setup. Font, scheme, etc
Your video is really good looking! I want the entire esthetics of your computer and terminal and I also want to know how all of this is recorded with so fancy and good looking clarification animations 😍 But I guess that is a lot of time spent in video editing? Good job anyways. I've now installed zoxide with all the configurations you made! 😁 Here, have a subscribe!
This is cool, bu I admit I'll still be using ThePrimeagen's way. A special shell script for using fzf to navigate in folders that you choose. Just write the name, and your terminal jumps to the folder. I edited this script so now I can use it with fish shell, so I think I have one of the greatest experiences on jumping project to project!
You can btw apply your .zshrc changes with the command `. ~/.zshrc` if you don't want to open a new terminal window every time.
Honestly I had a script like this decades ago and now I just use auto jump using pure cd on your workstation is crazy fo sure
I was already an autojump user, I'm totally giving this one a try.
Thanks, definitely will check z out! I do find myself aliasing a lot, so this might help.
Ok I like this for so many different reasons. The algorithm is simple and basically a priority queue no unnecessary AI bs. It seems that you can replace cd without breaking its eternal behaviour just add upon it
I only wonder if it maintains features that are added to cd by zsh. If yes the transition would be a cake
It is nice that Ctrl+r with fzf works like Bash and Zsh
I even started installing while the video was still running. Thanks for you work.
The production is amazing , underrated
Come back to this video because I didn't replace my cd alias... and totally forgot what the tool was! My muscle memory kicked in hard and z fell out of my head. Now... let's try that again...
For years, I've been using a lightly patched version of "autojump", which is the exact same concept as zoxide... but it uses 'j' instead of 'z', and the weighting and calculations use gradual adjustments instead of hard thresholds. At first it was great, but after a while I've mostly stopped using it. It's rarely any faster than tab completion, autosuggest, or ^R history search... and it requires more effort to remember which dirs it's likely to jump to and what their abbreviations are, and it gives less feedback about where it's going to jump. Zsh autosuggest, in particular, has made a lot of autojump's functionality redundant.
Thank you so much for these really high quality and well thought out videos.
Can only agree, it’s an amazing tool that took me about a minute to start loving
Thank you for watching them! I'm glad people enjoy them
This is really cool but it's something you can also do by passing fd to fzf like:
```
fd --type f --hidden --exclude .git --exclude node_modules --exclude .cache --exclude .npm --exclude .mozilla --exclude .meteor --exclude .nv --exclude .thunderbird --exclude .cargo --exclude .gradle --exclude .eclipse --exclude .java --exclude .android --exclude .m2 --exclude Franz --exclude .nuget --exclude .Trash | fzf
```
You can also run it without the excludes for simplicity, but that would perform slower, obviously.
fish with autosuggestion to cd is already very powerful. But will give this a try.