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

КОМЕНТАРІ • 362

  • @CoreIceX
    @CoreIceX 25 днів тому +534

    Wow face reveal

    • @santiagoorozco3343
      @santiagoorozco3343 25 днів тому +40

      the face does not match the voice IMO... but good face hahaha

    • @1..1..1..1H
      @1..1..1..1H 25 днів тому +7

      He just did it casually

    • @areeburrehmankhan1166
      @areeburrehmankhan1166 25 днів тому +4

      He already has kinda done it on discord. Like his pfp is his face. Also in his really old videos he has done it.

    • @Bliss467
      @Bliss467 25 днів тому +1

      Handsome fella!

    • @ZacMagee
      @ZacMagee 25 днів тому

      ​@santiagoorozco3343 not what I was expecting at all 😂

  • @RyanHandby
    @RyanHandby 25 днів тому +22

    I can only imagine the amount of time it takes to make videos this smooth. I appreciate the effort these are great.

  • @JobStoit
    @JobStoit 25 днів тому +39

    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

  • @fangg194
    @fangg194 25 днів тому +10

    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.

  • @w01dnick
    @w01dnick 24 дні тому +7

    I've switched to fish from zsh, and haven't been disappointed. Almost everything is much simpler and feels nice.

    • @Drezaem55
      @Drezaem55 24 дні тому +2

      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.

  • @SamEricEdge
    @SamEricEdge 25 днів тому +15

    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!

  • @vfmadd231pd
    @vfmadd231pd 24 дні тому +12

    This was superb! Now, I’m waiting for a tmux dedicated video 👀

    • @dreamsofautonomy
      @dreamsofautonomy  18 днів тому +1

      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.

    • @marcelliebreich5430
      @marcelliebreich5430 17 днів тому

      @@dreamsofautonomy how do you get the Window Nummer as an Icon?

    • @souviksaha5416
      @souviksaha5416 10 днів тому

      ​@@marcelliebreich5430Same question, it looks pretty dope ngl

  • @MichaelBauer-pe9ce
    @MichaelBauer-pe9ce 21 день тому

    I'm deeply impressed. Top-notch video, concise and detailed on the point. Awesome work!

  • @ericlindell3777
    @ericlindell3777 25 днів тому +5

    Absolutely fantastic video!

  • @erlgr
    @erlgr 24 дні тому

    Really nice config! I learned a lot in this video, I'll definitely check try this one out!

  • @mikaa4366
    @mikaa4366 25 днів тому +2

    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.

  • @Travis-ko2jo
    @Travis-ko2jo 16 днів тому

    I've watched this video so many times, thank you so much! Very nice work.

  • @jonny.rubber
    @jonny.rubber 25 днів тому +8

    Great video. Your editing is amazing.

  • @lastink444
    @lastink444 21 день тому +1

    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!

  • @dannierockz
    @dannierockz 18 днів тому

    This is incredible! I didn't even know my shell was capable of all this neatness

  • @yngshng
    @yngshng 9 днів тому

    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.

  • @adibhanna
    @adibhanna 25 днів тому +55

    Let's go! the face behind the voice!

  • @passioncorners
    @passioncorners 25 днів тому +2

    Great flow & setup !

  • @NoctuaDeveloppement
    @NoctuaDeveloppement 25 днів тому

    Really amazing video with new amazing tools!
    Really nice to put a face on a voice. 🤩

  • @Adam-wz8sh
    @Adam-wz8sh 6 днів тому

    You're tutorials are so good. Keep the quality. It's hard to find good tutorial about linux.

  • @comosaycomosah
    @comosaycomosah 25 днів тому +2

    Oiy! Good video bro look forward to seeing more content from ya

  • @recarsion
    @recarsion 20 днів тому

    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

  • @iamzareef
    @iamzareef 6 днів тому

    Awesome setup! loved it

  • @pooyanisalmani2844
    @pooyanisalmani2844 10 днів тому

    Your content is always amazing! thanks!
    I think i use every single terminal tool you ever recommended! My terminal looks exactly like yours LOL!

  • @aaaaliou
    @aaaaliou 18 днів тому

    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.

  • @doop9713
    @doop9713 25 днів тому

    Elegant and functional config, excellent thank you

  • @a1mer06
    @a1mer06 25 днів тому +11

    Absolute banger!!!!!!

  • @latch909
    @latch909 22 дні тому

    love that you actually have good taste and none of this is just for show

  • @tubeDude48
    @tubeDude48 24 дні тому

    I just subscribed - This was excellent! Thanks.

  • @fire17102
    @fire17102 21 день тому

    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.

  • @F1NEk
    @F1NEk 25 днів тому +11

    tokyo night ❤

  • @Megabeboo
    @Megabeboo 25 днів тому +2

    A tutorial on fzf-tab would indeed be lovely!

  • @JeffBigler
    @JeffBigler 23 дні тому +4

    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`

    • @Zh4n6Wu
      @Zh4n6Wu 18 днів тому +1

      This is exactly my problem. fzf-tab does not work for me. When I press TAB, nothing happens.

    • @dreamsofautonomy
      @dreamsofautonomy  18 днів тому

      So normally this would be an issue, but zinit should handle completion loading in the correct ordering!

  • @eliasepg
    @eliasepg 25 днів тому

    Awesome video, thank you!!

  • @MohammadLsk
    @MohammadLsk 25 днів тому

    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

  • @hydranooni
    @hydranooni 25 днів тому +31

    FACE REVEAL, you look great man and of course, this video was as always good

  • @acvKaZe
    @acvKaZe 22 дні тому

    Beautiful, Thank you!

  • @bibekjha5628
    @bibekjha5628 25 днів тому +6

    Loved the hand movements ❤️❤️

    • @MichaelScalet72
      @MichaelScalet72 25 днів тому +2

      I came here to tell him to please stop waving his hands so much! 😅

  • @caedis_
    @caedis_ 25 днів тому

    Great video, was wanting to switch to zsh too

  • @duncan-mcrae
    @duncan-mcrae 25 днів тому

    Fantastic tutorial

  • @navaneeth6157
    @navaneeth6157 16 днів тому

    The Emacs keybinds is REALLY useful, thanks

  • @themarksmith
    @themarksmith 25 днів тому

    Useful stuff thanks!

  • @MuntazirSaad
    @MuntazirSaad 25 днів тому

    High quality content ❤

  • @paradoxpacer
    @paradoxpacer 25 днів тому

    Awesome video, thanks for the inspiration. Is your current neovim setup somewhere on github?

  • @1337kaas
    @1337kaas 25 днів тому

    Haven't refreshed my zsh conf for years. Powerlevel10k looks really nice. Might spend my weekend tweaking my config again 😅

  • @mazwrld
    @mazwrld 25 днів тому

    stealing this right now thanks mate

  • @YTit69
    @YTit69 16 днів тому

    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!

  • @007arek
    @007arek 25 днів тому

    I have a similar setup but I use fasd in order to have access to opened files.
    Great that you promote plugin managers.

  • @macfrag574
    @macfrag574 25 днів тому +1

    Great content, subscribed!
    Now if I can add a suggestion, what about your tmux setup?
    It looks quite neat!

    • @dreamsofautonomy
      @dreamsofautonomy  24 дні тому

      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 :)

  • @paras_sevda
    @paras_sevda День тому

    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

  • @colton6130
    @colton6130 24 дні тому

    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!

  • @JPEaglesandKatz
    @JPEaglesandKatz 25 днів тому

    Fantastic video... !!

  • @xiaoliu6973
    @xiaoliu6973 25 днів тому +4

    Thanks for posting this video. great content. Can you also post a video about your tmux config?

    • @dreamsofautonomy
      @dreamsofautonomy  18 днів тому

      I have a video on it on my other channel "Dreams of Code"!

    • @xiaoliu6973
      @xiaoliu6973 18 днів тому

      @@dreamsofautonomy Great great job.Good to know that is your channel. Amazing!

  • @ernestodelgato930
    @ernestodelgato930 25 днів тому

    He does not look like what I thought he was gonna look like. Love the new format

  • @ascourter
    @ascourter 25 днів тому

    Great video! I have been dragging my feet to switch to fish over ohmyzsh. I'm gonna use zinit now instead!

  • @nordmu
    @nordmu 25 днів тому

    thank you so much!

  • @mattiasilvestri3488
    @mattiasilvestri3488 22 дні тому

    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...

  • @4citi
    @4citi 24 дні тому

    Super helpful

  • @trimclain
    @trimclain 25 днів тому +2

    alias nvim='nvim' at 16:50 is the real gigachad move!

    • @dreamsofautonomy
      @dreamsofautonomy  25 днів тому

      I'm glad you noticed! I was too lazy to rerecord it 😄

  • @AZisk
    @AZisk 25 днів тому

    Nice video! Good to see a real human too.

  • @Sebastian-mp5ll
    @Sebastian-mp5ll 24 дні тому +1

    I love the tmux config as well. Can we get a video on that too please? :)

  • @Redyf
    @Redyf 25 днів тому

    Lets gooooooo, zsh on top

  • @derrekvanee4567
    @derrekvanee4567 25 днів тому +1

    *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.

  • @llll3816
    @llll3816 24 дні тому

    Love the fzf ls preview when using cd. Adding to my config now!

  • @chyldstudios
    @chyldstudios 25 днів тому +1

    Nice arch, btw

  • @BunnyMolester
    @BunnyMolester 12 днів тому +1

    next video, tmux configuration and better key bindings for fast approach

  • @rafalg87
    @rafalg87 24 дні тому

    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).

  • @lukeemhigh
    @lukeemhigh 21 день тому

    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)

    • @dreamsofautonomy
      @dreamsofautonomy  21 день тому +1

      That's some nice improvement to loading! I may have to check out the git plugin on my end as well

  • @Metruzanca
    @Metruzanca 25 днів тому +1

    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.

  • @blackaura9757
    @blackaura9757 25 днів тому +2

    fish: look what they do to imitate a fraction of my power

    • @deudz
      @deudz 22 дні тому +1

      imagine not being posix compliant

  • @plokil
    @plokil 19 днів тому +1

    What is the line with tabs in the bottom of your terminal? We need more videos about your configs mate, this one is awesome!

    • @dreamsofautonomy
      @dreamsofautonomy  19 днів тому +1

      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

  • @hitarthpatel
    @hitarthpatel 25 днів тому

    lets go zsh

  • @js24345
    @js24345 25 днів тому +1

    Thanks!

    • @dreamsofautonomy
      @dreamsofautonomy  25 днів тому +1

      Thank you so much for the support. I really appreciate it!

  • @AhmadMughal1
    @AhmadMughal1 25 днів тому +1

    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.

  • @tobb10001
    @tobb10001 18 днів тому

    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!

    • @dreamsofautonomy
      @dreamsofautonomy  18 днів тому +1

      It seems counter intuitive on the surface of it but you're 100% correct on the clumsiness

  • @DavidAlsh
    @DavidAlsh 6 днів тому

    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

  • @sumirandahal76
    @sumirandahal76 25 днів тому

    Witnessed the chad reveal 😮

  • @nelsonfrank
    @nelsonfrank 12 днів тому

    alias ls = lsd
    lsd is the next gen ls command with lots of added features like colors, icons, tree-view, more formatting options etc.

  • @FunkySpidey
    @FunkySpidey 13 днів тому

    What desktop environment and theme do u use it looks great

  • @Tuna_sub
    @Tuna_sub 25 днів тому +2

    What is your tmux theme? It looks really good.

  • @VeitLehmann
    @VeitLehmann 25 днів тому

    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.

  • @cwjdog57
    @cwjdog57 22 дні тому

    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!

    • @dreamsofautonomy
      @dreamsofautonomy  21 день тому +2

      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 😁

  • @wertelyu
    @wertelyu 4 дні тому

    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)

    • @dreamsofautonomy
      @dreamsofautonomy  3 дні тому

      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.

  • @davidprokopec8037
    @davidprokopec8037 25 днів тому

    how do the keybindings change when using zsh-vi-mode? I cant seem to get any control^ keybinds to work.. Great config though!

  • @KartikKushwaha-df8ey
    @KartikKushwaha-df8ey 23 дні тому +2

    Can yous share the tmux tab configuration. Looks good.

  • @shamblonaut
    @shamblonaut 24 дні тому

    Great video! By the way, which tool do you use to display the keys you pressed? It is on linux, isn't it?

    • @dreamsofautonomy
      @dreamsofautonomy  18 днів тому

      Correct, it is "showmethekey" It's not the best but one of the only ones that work well on wayland.

  • @honk_tm
    @honk_tm 25 днів тому

    MORE PLEASE

  • @catastrophicblues13
    @catastrophicblues13 25 днів тому +2

    Please do a tmux video next!

    • @dreamsofautonomy
      @dreamsofautonomy  25 днів тому

      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 😄

  • @mrtetillas7504
    @mrtetillas7504 6 днів тому

    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!!!

  • @SharunKumar
    @SharunKumar 6 днів тому

    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?

  • @bulldoser2610
    @bulldoser2610 25 днів тому

    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.

    • @dreamsofautonomy
      @dreamsofautonomy  18 днів тому

      I'll do some research! That would be an awesome way to continue the series.

  • @fourcoding3198
    @fourcoding3198 25 днів тому +2

    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!

    • @dreamsofautonomy
      @dreamsofautonomy  25 днів тому +1

      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

  • @omarlittle5802
    @omarlittle5802 17 днів тому

    THANKS!!! 🎉❤
    Just setup a branch for my dotfiles called zen and followed along!
    Also, any chance of going through the Vim key bindings?!?!

    • @dreamsofautonomy
      @dreamsofautonomy  17 днів тому +1

      Absolutely! I'll add a video looking at both emacs and vim bindings!

  • @karidus6024
    @karidus6024 25 днів тому

    Damn, he is a person and not an AI voice.

  • @AmxCsifier
    @AmxCsifier 21 день тому +1

    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

  • @user-zd3kz4nu4j
    @user-zd3kz4nu4j 10 днів тому

    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?

  • @coolguy1083
    @coolguy1083 24 дні тому +1

    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.

    • @dreamsofautonomy
      @dreamsofautonomy  18 днів тому +1

      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!

    • @coolguy1083
      @coolguy1083 18 днів тому

      @@dreamsofautonomy Is it as good as davinci resolve on windows? I know linux doesn’t get some proprietary driver encoder stuff sometimes

  • @devotoare7439
    @devotoare7439 12 днів тому

    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

  • @brahyamalmonteruiz9984
    @brahyamalmonteruiz9984 24 дні тому

    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?

  • @Windeycastle
    @Windeycastle 25 днів тому

    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

    • @dreamsofautonomy
      @dreamsofautonomy  18 днів тому +1

      Correct! Bash already uses emacs mode thanks to GNU