I'm Never Using Tmux The Same Again!

Поділитися
Вставка
  • Опубліковано 13 жов 2024

КОМЕНТАРІ • 85

  • @devopstoolbox
    @devopstoolbox  Місяць тому

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

  • @offensive-operator
    @offensive-operator 2 місяці тому +12

    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!

  • @rochakgupta6116
    @rochakgupta6116 2 місяці тому +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  2 місяці тому +1

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

  • @JefCollier
    @JefCollier 2 місяці тому +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.

  • @animanaut
    @animanaut 2 місяці тому +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 2 місяці тому +2

      exactly. Was going to comment the same thing

    • @rochakgupta6116
      @rochakgupta6116 2 місяці тому +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  2 місяці тому +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

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

      I have keys bound to each pane (in order of pane creation). This way you don’t have to remember relative positions of one pane to another. Declarative vs Imperative…or something like that.

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

      Hey I got it working with the help of gpt. Hope it helps.
      ```
      # Enable switching between zoomed panes without unzooming using Ctrl+Alt+hjkl
      bind -n C-M-h if-shell "[[ #{window_zoomed_flag} -eq 1 ]]" "resize-pane -Z ; select-pane -L ; resize-pane -Z" "select-pane -L"
      bind -n C-M-j if-shell "[[ #{window_zoomed_flag} -eq 1 ]]" "resize-pane -Z ; select-pane -D ; resize-pane -Z" "select-pane -D"
      bind -n C-M-k if-shell "[[ #{window_zoomed_flag} -eq 1 ]]" "resize-pane -Z ; select-pane -U ; resize-pane -Z" "select-pane -U"
      bind -n C-M-l if-shell "[[ #{window_zoomed_flag} -eq 1 ]]" "resize-pane -Z ; select-pane -R ; resize-pane -Z" "select-pane -R"
      ```

  • @rwz
    @rwz 2 місяці тому +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 2 місяці тому +14

    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 2 місяці тому

      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 2 місяці тому

      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.

  • @comosaycomosah
    @comosaycomosah 2 місяці тому +3

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

  • @threee1298
    @threee1298 2 місяці тому

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

  • @lebaptoumetrage6396
    @lebaptoumetrage6396 2 місяці тому +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  2 місяці тому

      @@lebaptoumetrage6396 worth thinking about it thanks!

  • @EmileNani
    @EmileNani 2 місяці тому

    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 2 місяці тому

    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.

  • @SirJagerYT
    @SirJagerYT 2 місяці тому +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  2 місяці тому +2

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

  • @piersolenski4145
    @piersolenski4145 2 місяці тому +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 2 місяці тому

      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 2 місяці тому

      @@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  2 місяці тому +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

  • @sarojregmi200
    @sarojregmi200 2 місяці тому +1

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

  • @seanturner7400
    @seanturner7400 2 місяці тому

    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 2 місяці тому

      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.

  • @youngsinatra2645
    @youngsinatra2645 16 днів тому +2

    What made you switch from zellij back to tmux?

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

      @@youngsinatra2645 the ability to customise everything with ease and the fact that it’s ubiquitous and use a lot of remote servers daily

  • @pablocoyote9647
    @pablocoyote9647 2 місяці тому

    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

  • @sunilunnithan
    @sunilunnithan 23 дні тому +1

    How do you create multiple floating with a dedicated key binding?

    • @devopstoolbox
      @devopstoolbox  23 дні тому +1

      @@sunilunnithan there’s no option for multiple panes yet… I’m limited by Tmux and its capabilities

  • @sideone3581
    @sideone3581 2 місяці тому

    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

  • @elixirfun
    @elixirfun 2 місяці тому +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  2 місяці тому

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

    • @elixirfun
      @elixirfun 2 місяці тому

      @@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 🙏

  • @Redyf
    @Redyf 2 місяці тому

    This plugin has great potential

  • @on8t
    @on8t 2 місяці тому

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

  • @markandrews1219
    @markandrews1219 Місяць тому

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

  • @beepwhoop
    @beepwhoop 2 місяці тому +1

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

    • @devopstoolbox
      @devopstoolbox  2 місяці тому +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 2 місяці тому +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  2 місяці тому +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

  • @asahfikir
    @asahfikir 2 місяці тому

    Love this. Thank you man.

  • @UdayNarayanVishwakarma
    @UdayNarayanVishwakarma 2 місяці тому

    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?

  • @felipemaximo
    @felipemaximo 2 місяці тому

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

  • @solime7777
    @solime7777 14 днів тому

    How did you get rid of that opaque tmux bar connecting all the small modules

    • @devopstoolbox
      @devopstoolbox  14 днів тому

      @@solime7777 not sure what you’re referring to? Hiding the status bar?

    • @solime7777
      @solime7777 14 днів тому

      @@devopstoolbox there are total 4 modules , 2 left and 2right and all those are connected by a mocha colored line , so when terminal is opaque and having mocha theme I don’t see the line, but when I make the terminal transparent a opaque line joining the modules are show I want it to be transparent Thankxyou

    • @devopstoolbox
      @devopstoolbox  14 днів тому

      @@solime7777 few things to note -
      1. my opacity in videos is the result of video editting not an actual config
      2. daily work is always done on a full color background for me
      3. that said, check my config, specifically this line (and file): github.com/omerxx/dotfiles/blob/master/tmux/tmux.conf#L3

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

      @@devopstoolbox oh thanks❤️;;

  • @zerotheory941
    @zerotheory941 2 місяці тому +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  2 місяці тому

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

  • @347Online
    @347Online 2 місяці тому +1

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

    • @devopstoolbox
      @devopstoolbox  2 місяці тому

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

    • @347Online
      @347Online 2 місяці тому

      @@devopstoolboxgots to get dat paper somehow i guess lmao

  • @achananagadurgaprasad5442
    @achananagadurgaprasad5442 2 місяці тому

    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.

  • @Netist_
    @Netist_ 2 місяці тому +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  2 місяці тому

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

  • @4wdandcoffee
    @4wdandcoffee 2 місяці тому

    if you are already using vim, it has float terminal

    • @devopstoolbox
      @devopstoolbox  2 місяці тому

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

  • @Ohmygodzilla
    @Ohmygodzilla 2 місяці тому

    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  2 місяці тому

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

  • @AlaaSaidAhmad
    @AlaaSaidAhmad 2 місяці тому

    What Linux distro do you use as a daily driver

    • @devopstoolbox
      @devopstoolbox  2 місяці тому

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

  • @charlesmoscofian4137
    @charlesmoscofian4137 2 місяці тому +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  2 місяці тому

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

  • @newmarketfinder
    @newmarketfinder 2 місяці тому

    Cool, makes sense

  • @RudraNarayanPanda-s2t
    @RudraNarayanPanda-s2t 2 місяці тому

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

    • @devopstoolbox
      @devopstoolbox  2 місяці тому

      @@RudraNarayanPanda-s2t check out my recent workflow video where I cover everything I have!

    • @RudraNarayanPanda-s2t
      @RudraNarayanPanda-s2t 2 місяці тому +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?

    • @RudraNarayanPanda-s2t
      @RudraNarayanPanda-s2t 2 місяці тому

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

    • @devopstoolbox
      @devopstoolbox  2 місяці тому

      @@RudraNarayanPanda-s2t 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 2 місяці тому +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.

  • @hesam-init
    @hesam-init 2 місяці тому

    Btw is use zellij :)