Just even for how tab and panes are setup, and how it's good for scrolling and text selection with your mouse for copy pasting.
KetoManx64 2 minutes ago [-]
Same here. I bounced off it a few times because KDE konsole already had built in tab/pane support but once I picked up neovim the key chords for triggering actions just made so much sense compared to the static key binds of Console that I just started using Zellij for tabs and panes within Console.
hesdeadjim 24 minutes ago [-]
100%. Tmux didn’t click for me but Zellij did within 5 minutes. Lifelong Vim user so it felt a lot more familiar.
dns_snek 21 minutes ago [-]
Cool, I'm one of the lucky ten thousand today. Thanks.
soraki_soladead 7 minutes ago [-]
[delayed]
llagerlof 51 minutes ago [-]
I used tmux for a few years, until one day I discovered Zellij. With its significantly better UI and overall user experience, I was instantly convinced.
nDRDY 47 minutes ago [-]
This comment would be a lot more convincing if it weren't in response to one expressing the same sentiment :-)
azthecx 34 minutes ago [-]
It is actually true though, I only use tmux nowadays when I am SSHed into a server that I need to do some work on.
The only issues I've had with it is that sometimes it's hot keys conflict with vim, but you can easily turn it temporarily off with ctrl+ g.
If you're already used to tmux I'm not sure you would benefit much from changing, but it definitely has a better out of the box with pane hints, names, and more user friendly hot keys.
dummydummy1234 31 minutes ago [-]
Can you use zellij over ssh on a remote server?
TheTaytay 18 minutes ago [-]
Yes you can!
ndr 6 minutes ago [-]
without running zellij on the remote machine? how?
alecsm 38 minutes ago [-]
I had my tmux customized to the point I forgot how to use it on a clean install which is a problem when I'm sshing into a server.
I wish it had better defaults but now I run it as is. After a while you get used to it. The only thing I always have to change is the mouse scroll and my brain cannot retain the exact command.
dpflan 23 minutes ago [-]
Do you have a "dot files" repo? It would contain things like this, config files for tmux, zsh, <other tools>, etc.
esseph 1 minutes ago [-]
[delayed]
alt219 23 minutes ago [-]
Why not just `scp ~/.tmux.conf remotehost:`?
al_borland 15 minutes ago [-]
I can't speak for the parent, but I rarely login to the same remote server twice and don't want to need to set things up and clean them up anytime I do. This is why I try to keep my stuff as close to vanilla as possible. If anything goes wrong on a server and someone sees I have a whole bunch of dot files to customize my config, it becomes a red herring that I have to spend time explaining away.
monsieurbanana 17 minutes ago [-]
Sometimes I ssh into a server as a specific user (e.g. as the "app" user that is used to run a web app), sometimes only root is available (probably not best practice, but it's not like I can or want to fix it myself).
In any case it's not practical to carry your dotfiles everywhere you go. Changes are also a hassle to propagate
1vuio0pswjnm7 2 minutes ago [-]
I prefer to use tmux non-interactively. For example, I use it for running daemons in the foreground, (textmode) screen scraping and scripting text-only browser
I do almost all interactive work while detached from tmux
I also rely on tmux buffers for a textmode "clipboard" (I do not use x11)
pavel_lishin 1 minutes ago [-]
> I do almost all interactive work while detached from tmux
How come?
imankulov 13 minutes ago [-]
I left tmux for zellij after several unsuccessful attempts to get Shift+Enter working.
Was quite impressed initially and invested weeks in building new muscle memory, but somehow Zellij crashed with panic more than once, leaving all my processes orphaned. Decided to go back to tmux, and found a simple fix for my Shift+Enter issue.
Is it possible for a multiplexer process to die, but in such a bad way that its child processes continue to run?
I’ve been relying on the fact that in the worst-case scenario (if a pane hangs and tmux session becomes unresponsive) I can just kill tmux server and not have to hunt down and kill dozens of individual processes afterwards.
seemaze 42 minutes ago [-]
I've been thoroughly impressed with tmux control mode[0] in iTerm2. This lets you manage remote terminal windows with your local window management provider. It is currently in the process of being implemented in ghostty[1] as well, can't wait!
I use c-q for prefix key because it doesn’t conflict with common zsh and vim bindings.
Because the author suggested swapping caps lock and control key, I also recommend mapping escape key at the control key and change the behavior based on whether another key is pressed. For example, if you press control + a, it sends c-a, but if you only press control key and then release, it sends escape. It makes your vim life (and in general) a lot easier. You don’t have to compete the most variable real estate on the keyboard, right next to the A key.
For most bindings like moving, resizing, and splitting,I emulate vim bindings.
Also, -r flag for bind-key command is impotent, because it enables to repeat commands like changing the pane size or move focus. You don’t have to press prefix key each time.
If you want to get fancy look with minimal setting, use plugins like nord tmux theme.
yoyohello13 37 minutes ago [-]
If you're interested in an out of the box multiplexer. https://zellij.dev/ is great. I've been using it for about a year now and loving it.
tosti 21 minutes ago [-]
Your out of the box isn't my out of the box. Tmux is in main on OpenBSD, where it started.
I've been told more than once it's life-changing. I certainly use it every day.
strogonoff 25 minutes ago [-]
There’s a lot of ways tmux could be used, but when it is part of IDE the most important usability tweaks that make tmux rock for me personally are:
— session configuration save/recall (with pane layout for each tab and directory for each pane[0]),
— nvim integration (for seamless split navigation and so that I can create or reattach to a tmux session in an nvim float, even though that nvim usually runs inside tmux),
— a bind to force-reload a pane if (when!) a command hangs.
For switching between tabs, I find that the most ideal bind is simply Cmd + pane number. There’s never more than 10 panes that I’d often want to switch to within a single session.
[0] I always forget what terminology a given multiplexer uses, so let’s just call them “panes” and “tabs”.
halfwhey 47 minutes ago [-]
My two favorite tmux QoL improvements are enabling seamless navigation between neovim and tmux (there are many plugins but i use this one https://github.com/aserowy/tmux.nvim) and extrakto which lets you fuzzy select anything in the tmux buffer and insert into the cursor or copy it to the clipboard. (https://github.com/laktak/extrakto)
post-it 25 minutes ago [-]
I appreciate that tmux has theoretical advantages over screen, but man does the implementation suck. On Mac it still seems like there's no way to copy text if you have mouse mode on (at least in code-server).
The book doesn't mention the author of tmux or its origins even once :(
himata4113 15 minutes ago [-]
I highly recommend just turning the mouse on, it's amazing for resizing panels and the rightclick menu is nice.
set -g mouse on
for multi-monitor setups
setw -g aggressive-resize on
is also really nice.
hugodan 21 minutes ago [-]
I would love to have a way to switch sessions easily, like with panes where I just click or have more shortcuts available
lozf 13 minutes ago [-]
Prefix-w works, or did you want something more?
traderj0e 25 minutes ago [-]
I've always written my code in vim and preferred CLIs in general, but I really want a GUI for the terminal itself, including tmux. iTerm2 makes it nice for example, even if it's only to use the meta/super key instead of the heavily overloaded control.
jimbokun 39 minutes ago [-]
Any guides for tmux configuration that works well with Emacs? The use of Ctrl and Meta for basic operations conflicts with a lot of Emacs commands.
stebalien 33 minutes ago [-]
My experience is that Emacs wants to be your everything, and works best if you let it. Have you tried putting your terminals inside of Emacs instead of the other way around?
Tmux conflicted with my vim bindings and i tweaked the tmux.conf to fit my needs. It's worth playing around on pure tmux and figuring out what would work for you.
tosti 43 minutes ago [-]
I like having a red bar for tmux running as root and a blue one for running it as a normal user, e.g. for root:
set -g status-style "bg=red"
I also like to have the bar on top and the status centered:
set -g status-justify absolute-centre
set -g status-position top
stonecharioteer 25 minutes ago [-]
I change the color of the bar in every server I've set it up so I know absolutely where I am.
tosti 14 minutes ago [-]
Aren't you going to run out of colors to pick?
knubie 42 minutes ago [-]
I stopped using tmux when I started using kitty terminal with native split windows. I prefer the native window management of kitty, but I do miss the session saving of tmux (e.g. if I accidentally close a tab).
kjs3 31 minutes ago [-]
but I do miss the session saving of tmux
Interesting...I kinda thought that was 90% of the use case for using tmux.
orbital-decay 38 minutes ago [-]
There are many separate session persistence daemons: dtach, zmx, hauntty, shpool, diss, abduco - take your pick
0xbadcafebee 31 minutes ago [-]
screen's another nice one. been using it for 25 years, so far so good
vessenes 1 minutes ago [-]
I used screen until like 2010 or so -- but you triggered me to look back at it again today. One nicety there now is that you can easily get a dump of what's showing in the pty with screen -S <session_name> -X hardcopy. This is actually somewhat hard to do in tmux, but it's a thing you want your AI agents to do all the time. I'm curious if claude / codex are comfortable with screen, I'll check it out.
Lihh27 15 minutes ago [-]
the most tmux thing in the world is that "make tmux usable" is still a genre.
capitainenemo 19 minutes ago [-]
I've had the ctrl-a setup ever since migrating from screen to tmux, just due to muscle memory. But it is more conveniently located than ctrl-b - it's also rather nice if I have multiple nested layers of tmux due to temporary ones on other hosts. Sure you can just keep repeating the bind, but, just remembering that the second layer uses ctrl-b is a bit more convenient I feel. Slows me down a little, but usually I'm not using the 2nd layer as much.
I don't use capslock for ctrl though. It's much too useful as the Compose key ;)
faangguyindia 36 minutes ago [-]
i used to use tmux a lot when i used to develop on arch, since i moved to macos i never installed it.
I just couldn't be bothered to remember all the prefixed commands :)
Ravitej_Neeli 37 minutes ago [-]
nice update on tmux
0dayman 1 hours ago [-]
that's pretty nice, but did you try cmux.com
wffurr 55 minutes ago [-]
That's a totally different thing. Native macOS app vs portable terminal multiplexer. My main use case for tmux is detaching and re-attaching to a session on a remote server, for which it's extremely useful.
faangguyindia 11 minutes ago [-]
what does it add over screen which i don't even need to install?
jarredkenny 50 minutes ago [-]
I've been building a tmux wrapper that is similar you might be interested in. https://jmux.build
stonecharioteer 24 minutes ago [-]
That's what I tell people who keep telling me to try cmux. It's false advertising to say it's like tmux. No, Zellij, sure. But not this. I will hold onto tmux forever and you'll have to pry it from my cold dead hands.
phito 55 minutes ago [-]
OP doesn't seem to be on Mac
TheRealPomax 50 minutes ago [-]
Even if they are, cmux isn't an alternative to tmux, as it can't attach to/detach from sessions, which is usually the whole reason to use tmux.
Rendered at 15:58:55 GMT+0000 (Coordinated Universal Time) with Vercel.
Just even for how tab and panes are setup, and how it's good for scrolling and text selection with your mouse for copy pasting.
The only issues I've had with it is that sometimes it's hot keys conflict with vim, but you can easily turn it temporarily off with ctrl+ g.
If you're already used to tmux I'm not sure you would benefit much from changing, but it definitely has a better out of the box with pane hints, names, and more user friendly hot keys.
I wish it had better defaults but now I run it as is. After a while you get used to it. The only thing I always have to change is the mouse scroll and my brain cannot retain the exact command.
In any case it's not practical to carry your dotfiles everywhere you go. Changes are also a hassle to propagate
I do almost all interactive work while detached from tmux
I also rely on tmux buffers for a textmode "clipboard" (I do not use x11)
How come?
Was quite impressed initially and invested weeks in building new muscle memory, but somehow Zellij crashed with panic more than once, leaving all my processes orphaned. Decided to go back to tmux, and found a simple fix for my Shift+Enter issue.
In case anyone is looking for it, the fix is "bind-key -T root S-Enter send-keys C-j" borrowed from https://github.com/anthropics/claude-code/issues/6072.
I’ve been relying on the fact that in the worst-case scenario (if a pane hangs and tmux session becomes unresponsive) I can just kill tmux server and not have to hunt down and kill dozens of individual processes afterwards.
[0] https://github.com/tmux/tmux/wiki/Control-Mode
[1] https://github.com/ghostty-org/ghostty/issues/1935#issuecomm...
Because the author suggested swapping caps lock and control key, I also recommend mapping escape key at the control key and change the behavior based on whether another key is pressed. For example, if you press control + a, it sends c-a, but if you only press control key and then release, it sends escape. It makes your vim life (and in general) a lot easier. You don’t have to compete the most variable real estate on the keyboard, right next to the A key.
For most bindings like moving, resizing, and splitting,I emulate vim bindings.
Also, -r flag for bind-key command is impotent, because it enables to repeat commands like changing the pane size or move focus. You don’t have to press prefix key each time.
If you want to get fancy look with minimal setting, use plugins like nord tmux theme.
I've been told more than once it's life-changing. I certainly use it every day.
— session configuration save/recall (with pane layout for each tab and directory for each pane[0]),
— nvim integration (for seamless split navigation and so that I can create or reattach to a tmux session in an nvim float, even though that nvim usually runs inside tmux),
— a bind to force-reload a pane if (when!) a command hangs.
For switching between tabs, I find that the most ideal bind is simply Cmd + pane number. There’s never more than 10 panes that I’d often want to switch to within a single session.
[0] I always forget what terminology a given multiplexer uses, so let’s just call them “panes” and “tabs”.
Seems like they are keeping up-to-date too: https://bookshop.org/p/books/tmux-3-productive-mouse-free-de...
* If you need a "real" terminal emulator, you can use something like vterm (https://github.com/akermu/emacs-libvterm/).
* If you need to be able to attach/detach Emacs sessions on remote machines, you can use something like dtach or abducto (https://www.brain-dump.org/projects/abduco/).
Interesting...I kinda thought that was 90% of the use case for using tmux.
I don't use capslock for ctrl though. It's much too useful as the Compose key ;)
tbh i even forgot what it used to buy me.
I just couldn't be bothered to remember all the prefixed commands :)