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.
Then, if you're like me and read this years ago, play around with the Light Mode dropdown which was new to me. :)
It's this year's April Fools' joke: https://xkcd.com/3227/ :P
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.
:term to open a terminal in a new vim window (or :vert term)
Standard window movements apply (by default the window prefix is Ctrl-W), most important are: Ctrl-W,{hjkl} to switch between windows, Ctrl-W,{<>+-} to resize windows, Ctrl-W,{HJKL} to move windows to edges, Ctrl-W,{qc} to (force) close windows
Enter normal mode of a terminal buffer with Ctrl-W,N: now you can perform vim motions and scroll the output
Enter insert mode with i and you can type into the terminal again
In insert mode: Ctrl-W "x to paste register x, Ctrl-W . to send a literal Ctrl-W. If too annoying, you can change the window prefix of vim
This goes for vim, neovim also has a terminal mode but it works differently I think
i want tmux for three things:
1. easy splits
2. easy scrollback
3. being able to restart a session if my terminal dies
given all that, tmux works exactly as expected.
what are all these "significantly better ui and overall ux"?
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 was looking, thank you!
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.
Try `tmux -CC` in iTerm.
For a tmux novice like me, this was a total game changer :)
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.
For example, leave the existing prefix binding (ctrl-a), but also add something nicer for day-to-day use (ctrl-space or similar).
I had the same issue with gnu emacs… but at some point i lost my very custom configuration when the disk broke… i resorted to use a mostly-vanilla emacs :)
In any case it's not practical to carry your dotfiles everywhere you go. Changes are also a hassle to propagate
For the vim/nvim fans out there, I try my best to add "vim-style" key bindings for navigating between panes, so that e.g. ctrl-h, ctrl-j, ctrl-k, and ctrl-l can be used to move around qukcly. My dotfiles are here:
This lets you put your theme colors in a different file, such as `source-file "~/.config/tmux/theme.conf"` and then your theme switching external script or tool can symlink a specific theme's tmux file to that path.
That's what I do in my dotfiles:
# Main tmux config
https://github.com/nickjj/dotfiles/blob/master/.config/tmux/tmux.conf
# One of the theme files
https://github.com/nickjj/dotfiles/blob/master/themes/tokyonight-moon/tmux.conf
It allows for hot-reloading different themes as well.I also hated dealing with all the wrong colors, escape character support, missing chars and messed up terminal buffers
https://fredrikaverpil.github.io/blog/2024/10/20/session-man...
[0] https://github.com/tmux/tmux/wiki/Control-Mode
[1] https://github.com/ghostty-org/ghostty/issues/1935#issuecomm...
Seems like they are keeping up-to-date too: https://bookshop.org/p/books/tmux-3-productive-mouse-free-de...
set -g mouse on
for multi-monitor setups setw -g aggressive-resize on
is also really nice.Wish they could make this default, not sure why they haven't.
a lot of servers use tmux which probably has some weird broken edge cases
https://github.com/cmpadden/dotfiles/blob/6e767691a6b1295260...
Why now?
At least some of the links in it don't mention plugins (which luckily some comments here do). Beside tmux-continuum and tmux-sensible, I'd recommend jaclu/tmux-menus.
— 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 ideal bind is simply Cmd + pane number. There’s never more than ten tabs that I’d often want to switch to within a single session. The highest number is probably four tabs. Each tab is typically assigned a high-level part of the project.
[0] I always forget what terminology a given multiplexer uses, so let’s just call them “panes” and “tabs”.
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 topI do almost all interactive work while detached from tmux (personal preference)
I also rely on tmux buffers for a textmode "clipboard". I do not use x11
I've been using tmux since 2011 well before it became popular. I only use a fraction of its features
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.
My hotkey is the backtick, `, rather than a chord.
The one thing I still struggle with - because it happens rarely - is easily copying the contents, full or partial, of a particular pane.
https://github.com/morantron/tmux-fingers
(disclaimer: I'm the developer of the plugin)
set-option -gq status-style "fg=brightblue,overline"for (neo)vim users, flattening vim splits and tmux panes into the same level for switching with ctrl+hjkl is handy too
[0](https://github.com/tolly-xyz/dotfiles/blob/main/.local%2Fbin...)
Switching between sessions with fuzzy finding, and creating new ones when needed, is a wonderful feature.
* 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 have two exceptions to this: NeoVim and tmux.
tmux in particular looks very ugly out of the box; I'm not sure why they decided to have a bright green bar on the bottom (presumably to be high-contrast in a low color terminal), but I really hate staring at it all day (since I kind of live in tmux most of the day on both my work and personal computer). I have it set as close as I can to the Wombat color scheme that's built into emacs (and which can be easily added to Vim), because I personally have always felt that that was the most pleasant theme to stare at for long periods of time.
Another thing I do is set the prefix key to backtick. I have no idea why I started doing this, but at this point I'm too geriatric to change, and I still greatly prefer this over ctrl-b. The only issue I've had is when I need to do code blocks in markdown, but I've just gotten used to hitting backtick twice when I need to actually use a backtick.
I've been told more than once it's life-changing. I certainly use it every day.
Btw I don’t strictly believe in a gnu screen superiority, i’m just lazy.
It rarely conflicts with whatever I'm doing, but I have a binding to temporarily switch it to `C-a` and back, which I almost never use.
Oh, and I've used this themepack[1] for years as well.
Actually, here's my config[2] if someone finds it useful. I can't claim ownership of it, and probably stole it from somewhere I don't remember anymore.
BTW, the author's site https://rootloops.sh/ is certainly... something. :)
[1]: https://github.com/jimeh/tmux-themepack
[2]: https://gist.github.com/imiric/9bd3e5b7fc5e1468d05abc674f42e...
tbh i even forgot what it used to buy me.
I don't use capslock for ctrl though. It's much too useful as the Compose key ;)
I just couldn't be bothered to remember all the prefixed commands :)
Screen does not have UTF8 support, tmux does.
Otherwise just a bunch of more sane original defaults in tmux to make things much familiar.
In 2026 if given a choice between screen and tmux to use/learn, most are going to go with tmux.