This Zsh config is perhaps my favorite one yet.
Вставка
- Опубліковано 10 чер 2024
- When it comes to working in the terminal. I like to keep things functional, whilst also trying to keep my environment as zenful as possible.
Recently I've managed to create what I think is the most zenful zsh config out there, which also has a number of powerful interactive features such as fuzzy finding for completions and history.
Video Links:
- Zensh Config: github.com/dreamsofautonomy/z...
- zinit: github.com/zdharma-continuum/...
- fzf tab: github.com/Aloxaf/fzf-tab
- nerd fonts: github.com/ryanoasis/nerd-fonts
Like my tmux config? You can follow the guide on my main channel video @dreamsofcode
I'm using the Tokyo Night theme in this video!
00:00:00 Intro
00:00:52 Getting Started
00:01:35 Plugin Manager
00:03:32 Zenful Prompt
00:07:59 Big Three Plugins
00:10:02 Historical Searching
00:12:17 Basic Completion Styling
00:13:29 Fzf and Advanced Completion Styling
00:14:38 More Completions
00:16:16 Better cd command
00:17:02 Dotfiles
Wow face reveal
the face does not match the voice IMO... but good face hahaha
He just did it casually
He already has kinda done it on discord. Like his pfp is his face. Also in his really old videos he has done it.
Handsome fella!
@santiagoorozco3343 not what I was expecting at all 😂
I can only imagine the amount of time it takes to make videos this smooth. I appreciate the effort these are great.
Thank you very much!
Man we need a Dreams of OS.
Also nice camera work, you have a natural (or just learned very well) talent for video making and presenting
Thank you!
@@dreamsofautonomy do you use zioxide
Top quality video as always.
The information, the voice, the style, the edit, everything is on point for me.
Thank you so much for taking your time to craft these videos in such a way.
Thank you!
I've switched to fish from zsh, and haven't been disappointed. Almost everything is much simpler and feels nice.
I did the same a while back. But since I recently started sharing scripts with others I ran into the issue that some scripts have to be sourced (this allows the script to cd the users shell). Now I either have to write the scripts twice (in posix and fish), or have to find ways around the issue.
I was already thinking of switching back to zsh, but I couldn't figure out how to decently do the history searching with the up arrow. And now with this tutorial that is fixed so I'm making the switch back.
You made this? I made this! Stole 99% of your config to replace my mess of a .zshrc. I was using some of the plugins already, but pulled in from different install methods and what have you. Now my rc is readable! Plus I gained a bunch of new features. Much obliged!
This was superb! Now, I’m waiting for a tmux dedicated video 👀
Thank you! I actually have one on my other channel: Dreams of Code. I'll be refreshing it for this channel once it hits 1M views.
@@dreamsofautonomy how do you get the Window Nummer as an Icon?
@@marcelliebreich5430Same question, it looks pretty dope ngl
I'm deeply impressed. Top-notch video, concise and detailed on the point. Awesome work!
Absolutely fantastic video!
Really nice config! I learned a lot in this video, I'll definitely check try this one out!
Thank you! Amazing timing, I've been planning to fix up my zshrc for some time. And I'm a bit disappointed that you forgot to mention that you use Arch, btw.
I've watched this video so many times, thank you so much! Very nice work.
Great video. Your editing is amazing.
Thank you so much!
i've been using OMZ for some time partially knowing what's hidden behind the fancy facade. I'ts so nice to finally see the manual config with some extra neat additions. Thanks!
This is incredible! I didn't even know my shell was capable of all this neatness
top quality tutorial. the complicated part is getting all those different things working together. would have never figured out those zstyle and completion configs myself.
Let's go! the face behind the voice!
Great flow & setup !
Really amazing video with new amazing tools!
Really nice to put a face on a voice. 🤩
You're tutorials are so good. Keep the quality. It's hard to find good tutorial about linux.
Oiy! Good video bro look forward to seeing more content from ya
This is so good and so close to what I was already using that instead of manually adding the extra things I didn't have I just went and copied the entire thing with minor changes, works great
Awesome setup! loved it
Your content is always amazing! thanks!
I think i use every single terminal tool you ever recommended! My terminal looks exactly like yours LOL!
Thanks for this video. I've been using the same bash configuration for the past 10 years and I've been thinking that it is time for a change.
Elegant and functional config, excellent thank you
Absolute banger!!!!!!
love that you actually have good taste and none of this is just for show
I just subscribed - This was excellent! Thanks.
You literally nailed all the important ones! This is basically what i have but with added matrix rain (different colors for users) and lolcat-neofetch if its the first session since reboot.
tokyo night ❤
A tutorial on fzf-tab would indeed be lovely!
Agreed! Added to the backlog
Thanks for the suggestion of fzf-tab, I hadn't heard of it yet and it's awesome. I did notice that the order you are loading some of the plugins can cause issues, so you might want to double check those. For example, fzf-tab warns: `fzf-tab needs to be loaded after compinit, but before plugins which will wrap widgets, such as zsh-autosuggestions or fast-syntax-highlighting`
This is exactly my problem. fzf-tab does not work for me. When I press TAB, nothing happens.
So normally this would be an issue, but zinit should handle completion loading in the correct ordering!
Awesome video, thank you!!
That was awesome. I love your content, and it's great to finally see the face behind the voice. Could you make a video about window managers if you use any, or share your approach to handling windows
Absolutely!
FACE REVEAL, you look great man and of course, this video was as always good
Beautiful, Thank you!
Loved the hand movements ❤️❤️
I came here to tell him to please stop waving his hands so much! 😅
Great video, was wanting to switch to zsh too
Fantastic tutorial
The Emacs keybinds is REALLY useful, thanks
Useful stuff thanks!
High quality content ❤
Awesome video, thanks for the inspiration. Is your current neovim setup somewhere on github?
Haven't refreshed my zsh conf for years. Powerlevel10k looks really nice. Might spend my weekend tweaking my config again 😅
stealing this right now thanks mate
Great! keep it up!!!
Please do more about terminal features and productivity specially with git, ansible, JS libs and frameworks + html, if you using it!
I have a similar setup but I use fasd in order to have access to opened files.
Great that you promote plugin managers.
Great content, subscribed!
Now if I can add a suggestion, what about your tmux setup?
It looks quite neat!
Thank you! I have an older video on my main channel about tmux, but I'll definitely refresh it for this channel probably when that one hits 1M views :)
i really loved the config. really great vibe and aesthetics 🙇♂
I wanna know 2 things apart from video.
1.) what theme is your terminal looks like tokyo-night but i see some difference.
2.) how did you customize your fzf
Wow been watching for a minute now on your other channel and was super surprised by the face reveal! I am also really enjoying this new channel hope it stays around!
I'm really enjoying this channel as well.
Fantastic video... !!
Thanks for posting this video. great content. Can you also post a video about your tmux config?
I have a video on it on my other channel "Dreams of Code"!
@@dreamsofautonomy Great great job.Good to know that is your channel. Amazing!
He does not look like what I thought he was gonna look like. Love the new format
Great video! I have been dragging my feet to switch to fish over ohmyzsh. I'm gonna use zinit now instead!
thank you so much!
I love these videos, make more and more and more and more. And more.....and more. But I'm desperately curious about that new tmux config...
Super helpful
alias nvim='nvim' at 16:50 is the real gigachad move!
I'm glad you noticed! I was too lazy to rerecord it 😄
Nice video! Good to see a real human too.
Thanks dude! Love your content as well
I love the tmux config as well. Can we get a video on that too please? :)
Lets gooooooo, zsh on top
*Derek over at DTOS is gonna come Fish'ing.*
This is really dope though. I always used omz despite knowing about this because it seemed ganky but I guess just had to RTFM.
Love the fzf ls preview when using cd. Adding to my config now!
Nice arch, btw
next video, tmux configuration and better key bindings for fast approach
A couple things to consider:
HISTDUP=erase might trip you up occasionally when you want to recall a sequence of commands that you run previously. Since duplicate entries get removed, you might not be able to reproduce the exact steps.
`setopt sharehistory` is nice but with it on you can't rely on the fact that Up arrow or Ctrl+P gives you the previously run command in that tab/pane. I kept running wrong commands and eventually disabled it 😀An alternative is copying the command you want to run, Ctrl+O is the keybinding in my setup (I think it's the default from either ZSH itself or OhMyZSH).
This video pushed me to analyze my zsh startup timings ( I use ohmyzsh ). After a little bit off fiddling I managed to add all the functionality you added to your config and reduce the startup time to 0.08s by lazy loading nvm and removing slow plugins (turns out that omz git plugin was the main culprit, as soon as i removed it I got a 10x improvement in startup times. I wasn't really using it since I prefer lazygit btw)
That's some nice improvement to loading! I may have to check out the git plugin on my end as well
FISH shell users: "Look What They Need to Mimic a Fraction of Our Power"
Fish + starship + lsd + zoxide, all in pretty much stock configuration and you've got a very zen setup. Fish does most of the heavy lifting though honestly.
No POSIX though 😔
fish: look what they do to imitate a fraction of my power
imagine not being posix compliant
What is the line with tabs in the bottom of your terminal? We need more videos about your configs mate, this one is awesome!
Tmux! I have a video on it on my main channel. If you search for "Tmux has forever changed the way I write code" it'll pop up!
I'll probably do a new Tmux video at 1M
lets go zsh
Thanks!
Thank you so much for the support. I really appreciate it!
One question is by default the zsh-autosuggestions automatically shows the suggestions in the terminal without pressing tab.
Is there some way that can be enabled in this it would be very helpful to know.
Thank you.
Using Emacs binds in the terminal as a NeoVim user ist the 200 IQ move here. As much as I love NeoVim, Vim keybinds in the CLI are always kinda clumsy. I'll definitely give this a try!
It seems counter intuitive on the surface of it but you're 100% correct on the clumsiness
How do I use up/down arrow for cycling through history? Also how do I use the "home" and "end" keys to go to the start/end of my terminal line?
I'm using the VSCode integrated terminal on Fedora Linux KDE
Witnessed the chad reveal 😮
alias ls = lsd
lsd is the next gen ls command with lots of added features like colors, icons, tree-view, more formatting options etc.
What desktop environment and theme do u use it looks great
What is your tmux theme? It looks really good.
Tokyo Night!
Really nice config, very similar to mine! 😅 I also use p10k (lean theme, the rest is like yours), fzf and a similar overall configuration. But instead of zinit, I use zgenom (unofficial successor of zgen), also with some ohmyzsh plugins. Instead of zoxide, I'm still on zsh-z. I'm running this setup almost unchanged since at least 5 years now.
There's always something I can take from your videos to improve my workflows, and today it's definitely fzf-tab.
Also, have you tried Antidote as a ZSH manager? It's a bit more "magic" (no ice/git management, and I believe light is effectively the default), but is still super fast!
Fzf-tab is really awesome, there's some more awesome things you can do with it as well.
Antidote looks really cool! I have a video planned looking at each plugin manager soon 😁
Hi, I really like the content you create, thank you for that. I also customized neovim and tmux, but when I connect to a remote server, it's just a regular command line :( Do you minimally customize the appearance on the remote server? Or when you need to write code or configure something (for example, nginx), do you do it on your local machine and then copy it to the server? I'm just wondering)
Personally, I keep my personal machines in sync with stow (or home-manager for nix systems) and any production / VPS servers I tend to leave by default. This helps to reduce the number of dependencies on those machines, but also I'm able to tell when I'm remote vs when I'm on a personal computer.
how do the keybindings change when using zsh-vi-mode? I cant seem to get any control^ keybinds to work.. Great config though!
Can yous share the tmux tab configuration. Looks good.
You can find it at elliottminns/dotfiles on Github
Great video! By the way, which tool do you use to display the keys you pressed? It is on linux, isn't it?
Correct, it is "showmethekey" It's not the best but one of the only ones that work well on wayland.
MORE PLEASE
Please do a tmux video next!
I have one on my main channel! But it's definitely some of my older content. There's a link in the description.
I'll be updating it once it hits 1M views 😄
i was using luke config, copy-pasta, but actually never use it because it dont behave like a want, so i goint to try your config!!!
I want the auto complete dropdown to show as soon as I start typing the first character, and should search history by default - similar to psreadline in powershell. Is there a way to achieve this in zsh?
Hey bruv, Is there a way to enable warp terminal like auto completion (some fzf flag that autometically invokes tab and updates to the most perfect match on the go), and bottom fixed prompt? I would be glad to know. BTW this is the best zshrc guide I've seen so far. Really dig it. Dare I ask, will there be a continuaton of this video? Maybe a series? Thanks.
I'll do some research! That would be an awesome way to continue the series.
Unfortunately, when installing fzf via apt it currently installs a version (44) that doesn't support the --zsh-flag yet. Or am I missing something?
Still, awesome config and video! Thank you very much!
You are probably correct, the --zsh-flag is rather recent I believe! In that case you'll probably need to go straight to the source
THANKS!!! 🎉❤
Just setup a branch for my dotfiles called zen and followed along!
Also, any chance of going through the Vim key bindings?!?!
Absolutely! I'll add a video looking at both emacs and vim bindings!
Damn, he is a person and not an AI voice.
she sells zsh on the sea shore
she sells zsh on the sea shore
she sells zsh on the sea shore
she sells zsh on the sea shore
she sells zsh on the sea shore
Do you know why every time when i open new terminal it's just loaded basic zsh without any themes applied like powerlevel10k, to do that i have to run source ~/.zshrc again over again?
How do you edit your videos to be so smooth? Do you edit your videos on linux? I'm wondering because kdenlive is not very good for fancy effects and editing and I'm looking for something more modern.
Kdenlive is not very good haha. I tried one time and lost all my work.
I use Davinci Resolve mostly, which is available on Linux!
@@dreamsofautonomy Is it as good as davinci resolve on windows? I know linux doesn’t get some proprietary driver encoder stuff sometimes
On my system (Pop 22.04) having eval "$(fzf --zsh)" at the end (or anywhere) completely broke tab completions for me. The fzf repo suggests source
I'm trying to set up the color list of suggestions using TAB completions but i cant in Linux mint, did somebody had the same problem?
Those keybinds for navigating the prompt, seem to be native in bash already?
I'm talking about ctrl+p/n for back and forth in history, and ctrl-b/f/a/e for jumping left and right
Correct! Bash already uses emacs mode thanks to GNU