I'm Never Using Tmux The Same Again!

Sdílet
Vložit
  • čas přidán 5. 09. 2024

Komentáře • 73

  • @devopstoolbox
    @devopstoolbox  Před 17 dny

    Join 2000+ subscribers getting one dev/sec/ops tip every Friday: signup.omerxx.com

  • @offensive-operator
    @offensive-operator Před měsícem +11

    Many people recommend using Zellij, but I've been a dedicated tmux user for over a decade. Given my fluency and comfort with tmux, I don't see a compelling reason to switch to another tool. Thank you for your incredible work. I have just included this plugin to my configuration. THANK YOU!

  • @animanaut
    @animanaut Před měsícem +21

    small hint: you don't need to zoom out. you can switch panes without it. i just wish i could switch panes while still being zoomed in.

    • @re1konn
      @re1konn Před měsícem +2

      exactly. Was going to comment the same thing

    • @rochakgupta6116
      @rochakgupta6116 Před měsícem +6

      @@re1konn Should be possible as tmux is very scriptable. Instead of binding key to switch to the pane, we could check if the current pane is zoomed in, switch to the pane and then zoom in if the current pane was zoomed in.
      Edit: Found it "bind -r Up select-pane -ZU" would maintain the zoom state ("-Z" is the flag doing that).

    • @devopstoolbox
      @devopstoolbox  Před měsícem +8

      @@animanaut totally. I should have made my point clearer- when the other pane isn’t visible I tend to forget either it’s there or where exactly is it (to the sides on down). I developed a habit of zooming out because I’m never really sure.
      Great point though

  • @rochakgupta6116
    @rochakgupta6116 Před měsícem +3

    This is the only thing from zellij I wanted in tmux. Thanks so much! I had been using a script I hacked together that did something similar but was limited in functionality due to my limited tmux scripting knowledge. Will definitely give this a shot and maybe pick a few things!

    • @devopstoolbox
      @devopstoolbox  Před měsícem +1

      @@rochakgupta6116 Brilliant! Feel free to give feedback and open issues!

  • @rwz
    @rwz Před měsícem +8

    If tmux didn't add such an render overhead. Since I noticed how much faster a vanilla terminal is, i can't not notice it.
    But still tmux is a must!

  • @Thundechile
    @Thundechile Před měsícem +12

    I still don't quite get the reason for using floating windows. I can press prefix+c to create window and it's already full screen. Then just prefix+number to jump back where I left.

    • @vivekjha8688
      @vivekjha8688 Před měsícem

      1. Quite useful often to have soem visual context behind the terminal (hence why i use the default 80% but sometimes use his "decrease size" hotkey)
      2. Doing your way will be creating a new window each time - to manage this you must either add an extra step "close window" (for me its: prefix + C-w) after each occurrence or leave them all open and batch close them peiodically or end of your session.
      Having a floating terminal that auto cd's into the currently spawned process's folder is pretty handy for minimal and quick toggling (prefix + p)

    • @sarca571ca
      @sarca571ca Před měsícem

      The biggest benefit that I’d get out of this is that I’m always in need of a quick terminal. Whether that’s running bash command or compiling/running programs or modifying a configuration file quickly. I love the utility of tmux but sometimes switching to do different sessions gets to be to much bouncing around.

  • @lebaptoumetrage6396
    @lebaptoumetrage6396 Před měsícem +2

    The plugin is good, and it’s really good to have active new plugins. But I really think that you are creating your problem with the zoom functionnality. You could think about simplifying your workflow by having a short on Alt + j/k/l or ; to have quick access to to 4 panes at all times like a sort of tmux version of harpoon (alt f/d/s or a). This allows you to Build up muscle memory around it, which is always better than arbitrary controls based on what you see (zooming in, zooming out, floating windows).

    • @devopstoolbox
      @devopstoolbox  Před měsícem

      @@lebaptoumetrage6396 worth thinking about it thanks!

  • @JefCollier
    @JefCollier Před měsícem +1

    I love your content and immediately fell into the exact scenario you depicted in the "less key strokes" methodology. Using tmux has broken my habit for tabs or even windows. I tend to fire up panes and either zoom as described or I run something and exit.
    I'm convinced and now I'll absolutely give this a try and see if I dig the workflow. I dragged my feet integrating lazygit with neovim due to my pane swapping, but I've gotten rid of that flow in favor of just a simple lg. It really does come down to minimizing flowstate interruptions.

  • @comosaycomosah
    @comosaycomosah Před měsícem +3

    Lmao oh that's sick with cmatrix under it! Good job dude! Will star it later

  • @EmileNani
    @EmileNani Před měsícem

    This is pretty cool. I built my own implementation of something similar a while back. I have some bound to their own keymaps. Alt-g opens up Lazygit in a float. Alt-c opens up the cwd in a float. Alt-q opens up a float in ~. On other thing I did is they are sessions essentially. So if I have a float opened with Alt-q but then I press Alt-g it'll chnage the float to lazygit. That way I can cycle my floats and go back to my regular work once finished. If I use any of those binds to open the float. Ie Alt-g, I can press Alt-g again to close the session. If I want to persist the float and come back to it later, I can press Alt-d.
    Very nice plugin bruv!

  • @Subbeh2
    @Subbeh2 Před měsícem

    Been using it for a while now and loving it. One thing that would make it even better is the option for multiple "floax". I.e I'd use C-p to open a scratchpad and C-n to open one with neovim automatically started in my notes dir.

  • @threee1298
    @threee1298 Před měsícem

    Great stuff as always, i admire the confidence and persistence it takes to make these plugins, very inspiring!

  • @seanturner7400
    @seanturner7400 Před měsícem

    Thanks for all of the videos. Now using wezterm and tmux for the past couple of weeks and liking it much more than iterm. Tried zellij and while was super easy, it had a weird crash once (didn't take long) while tmux seems rock solid.
    Now just need to get python working with neovim (and devcontainers) and I think I'll be done. And also some sort of vim motions for selection (I know wezterm has a little of this, haven't dove in yet) (a delete-in-word motion would be lovely).

    • @seanturner7400
      @seanturner7400 Před měsícem

      Also need to get certain hidden files to show up in telescope lol. And figure out macros (I found a good video, it's just a matter of sitting down). And using registers. And then I'm actually done.

  • @sarojregmi200
    @sarojregmi200 Před měsícem +1

    It's an interesting way to work. Will give it a try once i am free. Good work.

  • @SirJagerYT
    @SirJagerYT Před měsícem +3

    Nice video, learned a lot from you. I finding no tutorials for setting up php for neovim, and i idk my configs are not working. Can you make a short video on setting up neovim for php. If not please name some lsp, linters n all for php

    • @devopstoolbox
      @devopstoolbox  Před měsícem +2

      @@SirJagerYT I’m not a big PHP guy so can’t recommend anything. My typical environment is mainly Go, sometimes JavaScript and Python..

  • @zerotheory941
    @zerotheory941 Před měsícem +2

    pssst... a little birdy came and whispered something in my ear.. .it was "tmatrix.. use tmatrix instead"
    What do you think it means?

    • @devopstoolbox
      @devopstoolbox  Před měsícem

      @@zerotheory941 haha thanks! I’ll give it a try :)

  • @piersolenski4145
    @piersolenski4145 Před měsícem +3

    This is cool, what are the advantages of using it over a floating (and split) terminal system in Neovim itself though? That way you can benefit from all the quick key strokes, still do things like pane splitting, as well as using normal mode to yank text easily with vim motions.

    • @ivyZorz
      @ivyZorz Před měsícem

      I know many who use the tmux+nvim combo prefer to completely ignore the tabs and panes supplied via nvim and entirely use tmux to handle all windowing. It keeps things rather consistent and easier to keep track of this way. Verses having a hybrid of neovim panes, tabs and tmux windows and panes.
      Of course with these tools its entirely based on your preference at the end of the day as its your config :)

    • @rochakgupta6116
      @rochakgupta6116 Před měsícem

      @@ivyZorz I think they both have their own use cases. For quick one off things, I use the built in terminal. For others, a separate tmux pane/window works best.

    • @devopstoolbox
      @devopstoolbox  Před měsícem +2

      @@piersolenski4145 you got excellent answers but I’ll add: tmux and Neovim work in tandem. Yes, both can split but the tmux splits are much easier to handle. Plus, I rather have my shell prompt outside Neovim, mainly for workflow separation. With tmux I can manage different sessions and long living panes and now with floax I can pop the occasional overflowing terminal for every need

  • @sideone3581
    @sideone3581 Před měsícem

    using a TWM then move one of the terminal window to the special workspace ( using hyprland ) do a tmux attach and boom just switch back and forth

  • @asahfikir
    @asahfikir Před měsícem

    Love this. Thank you man.

  • @elixirfun
    @elixirfun Před měsícem +2

    All is good, I really want to love Floax, but it doesn't provide the "focus lost" event for the bottom windows when I open the pop-up, which breaks my flows.

    • @devopstoolbox
      @devopstoolbox  Před měsícem

      @@elixirfun can you think of a way to make it more suitable for your style?

    • @elixirfun
      @elixirfun Před měsícem

      @@devopstoolbox Not sure I understood the question, but it would be nice if it would. behave as other tmux panes, by firing the "focus lost" event to those staying on the back. I submitted an issue on Github with more details, let's discuss there? Thanks 🙏

  • @on8t
    @on8t Před 24 dny

    when you're zoomed into 1 pane, you still can just use a key to switch to another pane, it will zoom out automatically

  • @felipemaximo
    @felipemaximo Před měsícem

    Please make a video about your keyboard, layouts that you have and so on... it could nice to compare. Thanks man

  • @347Online
    @347Online Před měsícem +1

    A developer taking a Wix sponsorship feels super weird IMO 😬
    Loved the video though, floax looks really cool

    • @devopstoolbox
      @devopstoolbox  Před měsícem

      @@347Online my words exactly 😅
      But if it helps create more content and plugins.. who am I to say no

    • @347Online
      @347Online Před měsícem

      @@devopstoolboxgots to get dat paper somehow i guess lmao

  • @Netist_
    @Netist_ Před měsícem +1

    Nice work, but I'm not a fan of floating windows. I feel the same about when people add floating windows to neovim. It really clashes hard with the flow of tiling window management.

    • @devopstoolbox
      @devopstoolbox  Před měsícem

      @@Netist_ that’s why I wanted something native! The floating pane is using a popup so Tmux knows how to handle it in terms of visualization

  • @pablocoyote9647
    @pablocoyote9647 Před měsícem

    Ok i finally masterered sessionx yesterday and you decide to pull out a new plugin this very day!
    One functionality I still miss from tmux is the auto resize of panes so that when you switch in a pane it slightly becomes wider and taller than others. This could be a very confy user exp functionality.
    Btw My wife hates you

  • @UdayNarayanVishwakarma
    @UdayNarayanVishwakarma Před měsícem

    Thank you for creating this plugin. I recently got into the terminal ecosystem with lazyvim and tmux. After watching your video I tried zellij and liked the clear separations in every window and intuitive keybinds but it interfered too much with my vim keybinds so I moved back to tmux and made non conflicting ones for moving around and changing tabs, inspired by zellij. I also missed the floating window and thanks to you I've found it.
    Btw has anyone else found a way to highlight every screen with or without split get a border like in zellij which shows proper separation?

  • @charlesmoscofian4137
    @charlesmoscofian4137 Před měsícem +1

    This is pretty, but honestly that's it! I see no real value on top of the regular panes, it's just overhead, not a productivity boost.

    • @devopstoolbox
      @devopstoolbox  Před měsícem

      @@charlesmoscofian4137 I wanted as little key strokes as possible and this does it for me :)

  • @markandrews1219
    @markandrews1219 Před 7 dny

    Is it possible to enable scrolling bars for each individual pane?

  • @Redyf
    @Redyf Před měsícem

    This plugin has great potential

  • @4wdandcoffee
    @4wdandcoffee Před měsícem

    if you are already using vim, it has float terminal

    • @devopstoolbox
      @devopstoolbox  Před měsícem

      @@4wdandcoffee yep. But as I mentioned, this creates an inception problem for me. 1. I don’t like Neovims terminal bindings and 2. I want Tmux to manage my shells

  • @beepwhoop
    @beepwhoop Před měsícem +1

    Didn't you switch to Zellij full time? You mentioned this in some of the previous videos.

    • @devopstoolbox
      @devopstoolbox  Před měsícem +1

      I did. And after a while came back and built my own tooling around things I missed - github.com/omerxx/tmux-sessionx
      and github.com/omerxx/tmux-floax

    • @beepwhoop
      @beepwhoop Před měsícem +1

      @@devopstoolbox thanks for the clarification! What would I be missing if I opt for Zellij, since I believe those are already implemented natively?

    • @devopstoolbox
      @devopstoolbox  Před měsícem +1

      @@beepwhoop Hard to put in a few lines, but if I must - customizability (is this a word?). You can make Tmux do pretty much anything. And when you can't you build the thing. Zellij is a bit more complicated in that regard. I prefer a very lean look and controlling tmux the way I'm used to

  • @achananagadurgaprasad5442
    @achananagadurgaprasad5442 Před měsícem

    How do I delete the session in mac => alt backspace which isn't there i tried using opt+dlete but doesn't work ? Any help will be highly appreciated. Thankyou.

  • @Ohmygodzilla
    @Ohmygodzilla Před měsícem

    I do understand that you like macOS and believe me, I do too. but I get the feeling that you would be much happier with a Linux OS. Both arch and Ubuntu are compatible with Mac systems, it's not perfect but still good enough. Love your guidance but tmux haven't found it's way for me in a work environment yet, and I don't think it will since I use a tiling wm (den) for now.. ❤

    • @devopstoolbox
      @devopstoolbox  Před měsícem

      @@Ohmygodzilla I’m sure I will :) it’ll happen too!

  • @newmarketfinder
    @newmarketfinder Před měsícem

    Cool, makes sense

  • @user-fi3te8uk5n
    @user-fi3te8uk5n Před měsícem

    Bro, the terminal is just awesome, please help me build the same.

    • @devopstoolbox
      @devopstoolbox  Před měsícem

      @@user-fi3te8uk5n check out my recent workflow video where I cover everything I have!

    • @user-fi3te8uk5n
      @user-fi3te8uk5n Před měsícem +1

      @@devopstoolbox I tried applying same changes but my terminal ui nerver looks good, its normal, no glassy effect or cleaner view. are you using a different terminal?

    • @user-fi3te8uk5n
      @user-fi3te8uk5n Před měsícem

      @@devopstoolbox is this because I am on ubuntu and you r on arch?

    • @devopstoolbox
      @devopstoolbox  Před měsícem

      @@user-fi3te8uk5n I think you’re mixing the setup with some video editing plugins I’m also applying 😕
      That’s the “glassy” view. You can partially achieve it with wezterm config but I don’t run it in transparent mode

    • @rnp0728
      @rnp0728 Před měsícem +1

      @@devopstoolbox​​⁠can you please put the exact video link here! I just want to make my terminal awesome😅, mine looks minimal as of now. I am the same guy who commented above don’t get confused, please help me out.

  • @AlaaSaidAhmad
    @AlaaSaidAhmad Před měsícem

    What Linux distro do you use as a daily driver

    • @devopstoolbox
      @devopstoolbox  Před měsícem

      My local machine is a Mac. Running remote cloud infra, I usually opt for Alpine linux which is amazing for containers IMO

  • @hesam-init
    @hesam-init Před měsícem

    Btw is use zellij :)