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!
@@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).
@@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
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!
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.
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)
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.
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).
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.
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!
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.
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).
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.
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
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.
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 :)
@@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.
@@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
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 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 🙏
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.
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
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?
@@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 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
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.
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 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 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
@@devopstoolboxcan 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.
Join 2000+ subscribers getting one dev/sec/ops tip every Friday: signup.omerxx.com
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!
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.
exactly. Was going to comment the same thing
@@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).
@@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
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!
@@rochakgupta6116 Brilliant! Feel free to give feedback and open issues!
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!
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.
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)
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.
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).
@@lebaptoumetrage6396 worth thinking about it thanks!
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.
Lmao oh that's sick with cmatrix under it! Good job dude! Will star it later
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!
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.
Great stuff as always, i admire the confidence and persistence it takes to make these plugins, very inspiring!
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).
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.
It's an interesting way to work. Will give it a try once i am free. Good work.
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
@@SirJagerYT I’m not a big PHP guy so can’t recommend anything. My typical environment is mainly Go, sometimes JavaScript and Python..
pssst... a little birdy came and whispered something in my ear.. .it was "tmatrix.. use tmatrix instead"
What do you think it means?
@@zerotheory941 haha thanks! I’ll give it a try :)
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.
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 :)
@@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.
@@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
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
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.
@@elixirfun can you think of a way to make it more suitable for your style?
@@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 🙏
Love this. Thank you man.
when you're zoomed into 1 pane, you still can just use a key to switch to another pane, it will zoom out automatically
Please make a video about your keyboard, layouts that you have and so on... it could nice to compare. Thanks man
A developer taking a Wix sponsorship feels super weird IMO 😬
Loved the video though, floax looks really cool
@@347Online my words exactly 😅
But if it helps create more content and plugins.. who am I to say no
@@devopstoolboxgots to get dat paper somehow i guess lmao
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.
@@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
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
😆🤣
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?
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.
@@charlesmoscofian4137 I wanted as little key strokes as possible and this does it for me :)
Is it possible to enable scrolling bars for each individual pane?
This plugin has great potential
if you are already using vim, it has float terminal
@@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
Didn't you switch to Zellij full time? You mentioned this in some of the previous videos.
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
@@devopstoolbox thanks for the clarification! What would I be missing if I opt for Zellij, since I believe those are already implemented natively?
@@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
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.
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.. ❤
@@Ohmygodzilla I’m sure I will :) it’ll happen too!
Cool, makes sense
Bro, the terminal is just awesome, please help me build the same.
@@user-fi3te8uk5n check out my recent workflow video where I cover everything I have!
@@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?
@@devopstoolbox is this because I am on ubuntu and you r on arch?
@@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
@@devopstoolboxcan 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.
What Linux distro do you use as a daily driver
My local machine is a Mac. Running remote cloud infra, I usually opt for Alpine linux which is amazing for containers IMO
Btw is use zellij :)