[HN Gopher] Make tmux pretty and usable (2024)
       ___________________________________________________________________
        
       Make tmux pretty and usable (2024)
        
       Author : speckx
       Score  : 283 points
       Date   : 2026-04-13 14:48 UTC (8 hours ago)
        
 (HTM) web link (hamvocke.com)
 (TXT) w3m dump (hamvocke.com)
        
       | 0dayman wrote:
       | that's pretty nice, but did you try cmux.com
        
         | phito wrote:
         | OP doesn't seem to be on Mac
        
           | TheRealPomax wrote:
           | 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.
        
             | traderj0e wrote:
             | iTerm2 gives you that then. I use it every day at work. Idk
             | why there's no equivalent for Linux.
        
         | wffurr wrote:
         | 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.
        
           | jarredkenny wrote:
           | I've been building a tmux wrapper that is similar you might
           | be interested in. https://jmux.build
        
           | stonecharioteer wrote:
           | 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.
        
           | faangguyindia wrote:
           | what does it add over screen which i don't even need to
           | install?
        
             | esseph wrote:
             | If screen crashes you lose the sessions, Tmux maintains
             | state.
             | 
             | 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.
        
               | teddyh wrote:
               | > _Screen does not have UTF8 support, tmux does._
               | 
               | "'-U'
               | 
               | Run screen in UTF-8 mode. This option tells screen that
               | your terminal sends and understands UTF-8 encoded
               | characters. It also sets the default encoding for new
               | windows to 'utf8'."
               | 
               | -- <https://www.gnu.org/software/screen/manual/screen.htm
               | l#Invok...>
               | 
               | "Command: defutf8 state
               | 
               | (none) Same as the 'utf8' command except that the default
               | setting for new windows is changed. Initial setting is on
               | if screen was started with '-U', otherwise off."
               | 
               | -- <https://www.gnu.org/software/screen/manual/screen.htm
               | l#Chara...>
        
               | esseph wrote:
               | Which does not work correctly for Korean, Japanese,
               | Chinese, I think Thai, and a few more with somewhat
               | ambiguous character widths.
               | 
               | This can lead to ghost characters that aren't shown,
               | overlapping characters, etc.
               | 
               | It was an attempt to bolt on UTF8 support, but it's not
               | great.
        
             | wffurr wrote:
             | cmux? I don't know and it's not even a good comparison.
             | 
             | tmux? https://www.google.com/search?q=tmux+vs+screen
        
         | 0dayman wrote:
         | hm, seems i misunderstood something
        
       | ndr wrote:
       | I gave up on it once I discovered https://zellij.dev/
       | 
       | 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.
        
         | llagerlof wrote:
         | 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 wrote:
           | This comment would be a lot more convincing if it weren't in
           | response to one expressing the same sentiment :-)
        
             | azthecx wrote:
             | 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.
        
               | brewmarche wrote:
               | Maybe give terminal windows in vim a try? vim is not a
               | terminal multiplexer, but if all you need is multiple
               | terminals windows:
               | 
               | :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
        
           | dummydummy1234 wrote:
           | Can you use zellij over ssh on a remote server?
        
             | TheTaytay wrote:
             | Yes you can!
        
               | ndr wrote:
               | without running zellij on the remote machine? how?
        
               | kibwen wrote:
               | I'm unclear what's being asked. Zellij is just a TUI-
               | based terminal multiplexer like tmux and screen, you
               | either run it locally and SSH within it to a remote
               | machine, or SSH to a remote machine and run Zellij from
               | within the remote connection.
        
               | Kim_Bruning wrote:
               | I guess they mean 'have zellij hold your session when you
               | log off/close controlling terminal'. (that would require
               | zellij on remote)
        
           | fernandotakai wrote:
           | i tried both and i honestly... i didn't see anything
           | different.
           | 
           | 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"?
        
             | Groxx wrote:
             | There's a number of people who effectively use tmux as
             | their window manager - one terminal window doing literally
             | everything. Locally as well as remotely, but it's more...
             | understandable for remote, where other options are often
             | worse or nonexistent.
             | 
             | For them, there's as much variety of desires as for any
             | other window manager, and there are tons of those. But
             | terminal ones are usually significantly easier to configure
             | in wild ways due to having fewer (but more powerful) knobs
             | to tweak, so a fair number choose just one and configure
             | the heck out of it.
        
             | dcminter wrote:
             | My terminal (terminator) does (2) and the "easy" scrollback
             | on tmux messes up the ability to scroll with the mouse, at
             | least with default settings. I just tried it in zellij and
             | that doesn't. Since I'm only using a multiplexor for (3)
             | and zellij does that too, I'm already inclined to switch.
             | 
             | I know I'd get used to them, but the key combos used by
             | tmux seem very odd choices, even to someone who used to
             | code on a _real_ glass tty!
        
         | hesdeadjim wrote:
         | 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 wrote:
         | Cool, I'm one of the lucky ten thousand today. Thanks.
        
           | soraki_soladead wrote:
           | Context: https://xkcd.com/1053/
           | 
           | Then, if you're like me and read this years ago, play around
           | with the Light Mode dropdown which was new to me. :)
        
             | grgergo wrote:
             | > 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
        
         | KetoManx64 wrote:
         | 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.
        
         | garymiklos wrote:
         | I prefer smux.dev
        
         | christiansafka wrote:
         | If anyone is looking for a slightly higher level management of
         | persistent sessions, we just launched https://haventerminal.com
         | for Mac
        
         | senderista wrote:
         | I have been using zmx for the last 2 weeks. It's still a bit
         | buggy (screen repainting) but quite pleasant to use with
         | ghostty.
         | 
         | https://github.com/neurosnap/zmx
        
           | modeless wrote:
           | Thanks for the report, I heard about it recently and was
           | wondering how buggy it was since it's very new. I'll probably
           | still try it soon.
        
         | fullstop wrote:
         | I have a few embedded devices where flash space is limited.
         | tmux is so much smaller than zellij, and it's not even close.
         | 
         | Zellij is close to 50 megabytes, but tmux and all dependent
         | libraries (minus libc, it's always there) is about 2 megabytes.
        
         | snthpy wrote:
         | This sentiment seems to be shared widely. Is there a good
         | conversion guide for tmux users?
         | 
         | I tried zellij a couple of years ago when it first got popular
         | and it didn't click for me.
        
           | baby wrote:
           | Tried it when it came out on mac and it was super glitchy so
           | I gave up. Also usally tmux is useful when I ssh
        
           | ndr wrote:
           | https://zellij.dev/screencasts/
           | 
           | has some starting links, if screencasts do it for you
           | 
           | For me the only glitch was some key binding collision with
           | ghostty/aerospace but it works perfectly out of the box on
           | alacritty for me
        
         | kator wrote:
         | I tried tmux so many times, could not commit the sequences to
         | memory, but then zellij was just out of the gate, easy to
         | "discover," and then I started writing plugins (rust wasm), and
         | I even submitted a PR which got accepted to support background
         | colors in panes/tabs.
         | 
         | I am a monthly donor, I think it has the right balance of
         | community plus the lead dev has a vision, opinionated but open
         | to inputs, and focused.
        
         | snapplebobapple wrote:
         | I did the same, however, I recently switched back because
         | zellij has just gotten too annoyingly bloated. I ended up on
         | tmuxp to build my tmux session and autossh to keep me connected
         | to my various ssh sessions and am much happier.
        
         | ori_b wrote:
         | Once I discovered window managers and graphics, I stopped using
         | half-baked features to emulate them in the terminal.
         | 
         | I use tmux to reattach to programs after the network connection
         | dies, and not really anything else. I would welcome a version
         | of it that stripped out everything but that, and just replayed
         | the last few pages of scrollback on reattach.
        
           | setopt wrote:
           | > I would welcome a version of it that stripped out
           | everything but that, and just replayed the last few pages of
           | scrollback on reattach.
           | 
           | Like `dtach`?
        
             | ori_b wrote:
             | Thanks. Dtach is definitely closer to what I want than
             | tmux, I'll be trying it out this week.
        
           | ssivark wrote:
           | Check out shpool, whose tagline is _" Think tmux, then aim...
           | lower"_ :-)
           | 
           | https://github.com/shell-pool/shpool
        
           | ndr wrote:
           | window manager like what though?
           | 
           | Mac WM is horrible, I use aerospace to make it tolerable
        
             | kelvinjps10 wrote:
             | i3, dwm, hyprland etc...
        
         | ghshephard wrote:
         | The only (deal breaker for me ) weakness of zellij - doesn't
         | support copy/paste from the keyboard (from the
         | screen/scrollback) and doesn't support multiple copy/paste
         | buffers.
         | 
         | I do that roughly every 60-90 seconds with tmux - so, until the
         | zellij developers relent (they suggest the "proper way" of copy
         | paste is to pipe the data into a text editor and use that - but
         | has the downside of not supporting _system_ copy-paste
         | buffers.) - no options other than to stick with tmux (or fork
         | zellij - but that seems a bit much....)
        
           | evanjrowley wrote:
           | Zellij has some controls for how copy/paste is handled.
           | Perhops these could help you in the future? Link:
           | https://zellij.dev/documentation/options.html#copy_command
        
         | clintonc wrote:
         | <button type="button" class="download-hover"
         | onclick="location.href='https://github.com/zellij-
         | org/zellij/releases/latest/downloa...'"> linux download
         | </button>
         | 
         | Screaming into the void, I guess, but PSA. Don't use buttons
         | for links. In my case, I couldn't right-click and copy the URL,
         | but there are a lot of other reasons not to do this.
        
         | semiinfinitely wrote:
         | I tried zellij and it feels like its ui was designed by someone
         | raised in the world of blade runner 2049
        
       | halfwhey wrote:
       | 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)
        
       | heatmiser wrote:
       | I read "tmux 2: mouse-free productivity" in a weekend years ago
       | and it may be, pound-for-pound, one of the more impactful books
       | on my productivity.
       | 
       | Seems like they are keeping up-to-date too:
       | https://bookshop.org/p/books/tmux-3-productive-mouse-free-de...
        
         | tosti wrote:
         | The book doesn't mention the author of tmux or its origins even
         | once :(
        
           | racl101 wrote:
           | I believe that book would be called: "History of Tmux"
        
         | racl101 wrote:
         | Thanks for the reference.
        
       | tosti wrote:
       | 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 wrote:
         | I change the color of the bar in every server I've set it up so
         | I know absolutely where I am.
        
           | tosti wrote:
           | Aren't you going to run out of colors to pick?
        
             | Lindby wrote:
             | My approach is to color ssh sessions to prod servers red,
             | less dangerous servers orange, my own non shared computers
             | blue.
        
         | backwardsponcho wrote:
         | Do you use this when running tmux remotely?
         | 
         | (I only run it in my own machines so it never runs as root
         | anyway)
        
       | knubie wrote:
       | 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).
        
         | orbital-decay wrote:
         | There are many separate session persistence daemons: dtach,
         | zmx, hauntty, shpool, diss, abduco - take your pick
        
           | 0xbadcafebee wrote:
           | screen's another nice one. been using it for 25 years, so far
           | so good
        
             | vessenes wrote:
             | 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.
        
         | kjs3 wrote:
         | _but I do miss the session saving of tmux_
         | 
         | Interesting...I kinda thought that was 90% of the use case for
         | using tmux.
        
         | leephillips wrote:
         | Recent versions of Kitty have sessions.
         | https://sw.kovidgoyal.net/kitty/sessions/
        
           | jpeeler wrote:
           | I was going to say, but zellij doesn't connect the session to
           | the GUI. However, I did not know about kitty's --use-
           | foreground-process, which doesn't solve the problem
           | completely but may be good enough.
           | 
           | https://sw.kovidgoyal.net/kitty/sessions/#more-complex-
           | sessi...
        
       | seemaze wrote:
       | 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!
       | 
       | [0] https://github.com/tmux/tmux/wiki/Control-Mode
       | 
       | [1] https://github.com/ghostty-
       | org/ghostty/issues/1935#issuecomm...
        
       | jimbokun wrote:
       | 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 wrote:
         | 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?
         | 
         | * 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/).
        
         | alexhans wrote:
         | 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.
        
       | alecsm wrote:
       | 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.
        
         | alt219 wrote:
         | Why not just `scp ~/.tmux.conf remotehost:`?
        
           | monsieurbanana wrote:
           | 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
        
           | al_borland wrote:
           | 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.
        
             | cr125rider wrote:
             | If only we had ways to automate repeating processes... oh
             | well
        
               | traderj0e wrote:
               | No, wanting to keep things vanilla when you're dealing
               | with lots of random servers is a valid concern. Just
               | because you can solve this with shell scripting doesn't
               | mean you should.
        
               | skydhash wrote:
               | You could always copy the config to /tmp and use the -f
               | flag.
        
           | alecsm wrote:
           | Because I'm not the owner of the remote host.
        
         | dpflan wrote:
         | Do you have a "dot files" repo? It would contain things like
         | this, config files for tmux, zsh, <other tools>, etc.
        
           | esseph wrote:
           | That may work for a server or two but doesn't really pan out
           | for fleet management.
        
             | lanstin wrote:
             | Volunteer to be the official image maintainer - I had
             | emacs-nox and (screen) installed fleet wide for my own
             | utility :)
             | 
             | I had a friend that even had his public keys added to the
             | /root/.ssh/ but I didin't go that far -I didn't even put my
             | own .emacs out - but I at least could use good tools to
             | look at the tcpdump output or giant log files if needed.
             | "Eight Megs and Constantly Swapping" is not that big of a
             | deal anymore.
             | 
             | And if people want to just use some default open source
             | image, just point out that in modern cloud environments,
             | you don't want each node to customize itself, you want to
             | pre-run that process one time per node type in your
             | "directed graph of image delta pipelines" which takes the
             | input image and publishes the cloud ready app-specific
             | images (with your DNS configs, LDAP integration, whatever,
             | plus emacs/neovim and screen/tmux :)
        
               | mystifyingpoi wrote:
               | This will definitely work, but it's not really even
               | necessary. Just have some pre-connect script, that checks
               | if the host is already "configured", and if not, then
               | one-shot some Ansible playbook (or bash even) that
               | installs what's needed. Use /tmp if root is not
               | available. Also works for Kubernetes, though there we
               | have better options.
        
           | throwa356262 wrote:
           | Is it not just easier to accept the default config?
        
         | znpy wrote:
         | > 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 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 :)
        
         | carodgers wrote:
         | I've hit this problem multiple times. The approach which
         | finally eased this pain point for me was to take care to not
         | overwrite any tmux defaults with my config, and only add non-
         | conflicting configs (new shortcuts, styling changes, etc.) That
         | way, if I need to use tmux on a new or unfamiliar machine, the
         | core functionality is still present, and I just miss the candy
         | that comes with customization.
         | 
         | For example, leave the existing prefix binding (ctrl-b), but
         | also add something nicer for day-to-day use (ctrl-space or
         | similar).
        
         | NobleLie wrote:
         | "Claude, scp my tmux config over to that box"
        
         | bch wrote:
         | I think of this as the curse of Emacs. Infinitely configurable,
         | thereafter entirely unique in the universe, which can be a
         | double edged sword. See too (maybe it's the same thing) The
         | Lisp Curse.[0]
         | 
         | [0] https://news.ycombinator.com/item?id=2450973
        
       | yoyohello13 wrote:
       | 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 wrote:
         | Your out of the box isn't my out of the box. Tmux is in main on
         | OpenBSD, where it started.
        
       | Ravitej_Neeli wrote:
       | nice update on tmux
        
       | faangguyindia wrote:
       | i used to use tmux a lot when i used to develop on arch, since i
       | moved to macos i never installed it.
       | 
       | tbh i even forgot what it used to buy me.
        
       | post-it wrote:
       | 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).
        
         | adamors wrote:
         | Select copies, what do you mean?
        
           | post-it wrote:
           | Not for me. Some kind of OSC 52 problem.
        
         | ihowlatthemoon wrote:
         | Maybe you could try this - https://github.com/tmux-
         | plugins/tmux-yank
        
           | post-it wrote:
           | I haven't tried it, but it looks like it just calls pbcopy,
           | which won't work in a browser. There's no programmatic way to
           | do it, because tmux can't access the clipboard.
        
         | szopa wrote:
         | Yeah, that really sucks. I couldn't quite believe what was the
         | case and spent many hours trying to debug it.
        
         | ramses0 wrote:
         | Often, holding down "Shift" while making mouse selections will
         | "break through" and let you get at the O.S.
         | copy/paste/selection mechanism. Highly terminal dependent,
         | though!
        
           | post-it wrote:
           | Not in browsers, unfortunately. Both my work and Home
           | Assistant OS use tmux in a browser tty, and I have to turn
           | off mouse mode to copy.
        
         | chasd00 wrote:
         | I was wondering about tmux vs screen (+splitvt) but didn't want
         | to ask. What are the advantages?
        
       | strogonoff wrote:
       | There's many 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 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".
        
       | traderj0e wrote:
       | 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.
        
       | hugodan wrote:
       | I would love to have a way to switch sessions easily, like with
       | panes where I just click or have more shortcuts available
        
         | lozf wrote:
         | Prefix-w works, or did you want something more?
        
         | gsinclair wrote:
         | People have developed plugins for this. Check out "sesh" for
         | instance.
         | 
         | Switching between sessions with fuzzy finding, and creating new
         | ones when needed, is a wonderful feature.
        
         | saint_yossarian wrote:
         | Check out the `choose-tree` and `display-menu` commands.
        
         | fenazego wrote:
         | I use byobu for managing tmux windows and sessions
         | https://www.byobu.org/
        
       | capitainenemo wrote:
       | 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 ;)
        
       | troupo wrote:
       | I ended up AI-slopcoding myself a small shell script for the few
       | things I need from tmux:
       | https://gist.github.com/dmitriid/523a5229c9a17a1cf4ad9182f4c...
       | 
       | I just couldn't be bothered to remember all the prefixed commands
       | :)
        
       | himata4113 wrote:
       | 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.
        
         | throwa356262 wrote:
         | Honestly, this is the only configuration I _need_.
         | 
         | Wish they could make this default, not sure why they haven't.
        
           | himata4113 wrote:
           | xterm, probably
           | 
           | a lot of servers use tmux which probably has some weird
           | broken edge cases
        
       | Lihh27 wrote:
       | the most tmux thing in the world is that "make tmux usable" is
       | still a genre.
        
       | imankulov wrote:
       | 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.
       | 
       | 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.
        
         | strogonoff wrote:
         | 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.
        
           | tolciho wrote:
           | A `kill -9` will cause many a process to die and give no
           | chance to cleanup any child processes. Some percentage of
           | users continue to use `kill -9` by default, which may result
           | in a mess of a process tree. Otherwise if the crash is bad
           | enough that cleanup code cannot run (maybe it's being run on
           | OpenBSD and an incompetent programmer didn't check the return
           | value of a malloc and for some reason the kernel now nukes
           | the process) then there may be orphan children. There may
           | also be sporadic failures to cleanup if the crash, maybe,
           | causes the whole process to exit before the cleanup code in
           | some other thread can run. System load average may also
           | influence how things maybe go sideways.
        
             | strogonoff wrote:
             | TIL. I didn't know it's the responsibility of the parent,
             | thought OS automatically handles child processes.
        
               | flakes wrote:
               | When a child process finishes (that is not actively being
               | waited on) it is left in a "defunct" or "zombie" state
               | and will stick around in the process table until the
               | parent process waits on them to fetch exit code. When you
               | kill a parent process with active children, these
               | subprocesses will become orphaned and re-parented to the
               | OS pid 1 (or another "sub-reaper" process depending on
               | your setup).
               | 
               | The OS will typically not kill orphaned/re-parented
               | processes for you. It will simply wait/reap them so they
               | are not left as zombies once they complete. If your
               | parent process spawns something like a daemon server that
               | needs an explicit signal to be stopped (e.g.
               | SIGINT/SIGTERM), these processes will continue to run in
               | the background until they are manually killed or they
               | crash.
        
             | a_t48 wrote:
             | That depends on how the children were spawned, no?
             | prctl(PR_SET_PDEATHSIG, SIGTERM); or similar will fix this.
        
         | verall wrote:
         | > In case anyone is looking for it, the fix is "bind-key -T
         | root S-Enter send-keys C-j"
         | 
         | I was looking, thank you!
        
         | patabyte wrote:
         | Interesting, for me `shift+enter` hasnt worked, but
         | `option+enter` does give me new lines in Claude Code's
         | promptbox inside tmux on MacOS.
        
           | lmao_ball wrote:
           | Interesting. I've just been using '\ + enter'
        
             | AlexCoventry wrote:
             | I just use Ctrl-g to open the prompt in emacs.
        
         | ErroneousBosh wrote:
         | What does shift-enter do for you?
        
           | skydhash wrote:
           | Maybe some keybind in a software. Another mentions Claude
           | code, so it may be used to enter new line where enter is
           | bound to send the prompt.
           | 
           | Terminal programs don't see key events. It's all text. I just
           | checked st (suckless) code and the RETURN key will send "\r"
           | aka carriage return. Control+j is "\n" or line feed.
        
         | giwook wrote:
         | Or if you want to avoid having to set new bindings, do '\ +
         | enter' (which escapes the enter).
        
       | hamasho wrote:
       | 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.
        
       | kristopolous wrote:
       | Worth mentioning my tmux llm chat helper sidechat:
       | https://github.com/day50-dev/sidechat
       | 
       | I use it every day.
        
       | 1vuio0pswjnm7 wrote:
       | 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
       | (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
        
         | pavel_lishin wrote:
         | > _I do almost all interactive work while detached from tmux_
         | 
         | How come?
        
       | pavel_lishin wrote:
       | Hard agree on intuitive splits, I do this as well.
       | 
       | 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.
        
       | monological wrote:
       | The only reason I don't use tmux is because of how annoying it is
       | to look at scrollback. Am I using it wrong?
        
         | lancebeet wrote:
         | I would "just" do C-B PgUp and then use vi-like movement keys
         | like hj, gg/G etc., and q to escape the pager, but I realize
         | now that I say it that it doesn't sound very convenient or
         | discoverable.
        
         | client4 wrote:
         | C-b [ allows you to scroll up/down
        
       | hybirdss wrote:
       | feels wrong to scp a dotfile to a server you only touch once
        
       | tombert wrote:
       | I almost never bother theming things on my computer; I usually
       | don't really care about how things look and I can't be bothered
       | with it.
       | 
       | 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.
        
       | 0xDEFACED wrote:
       | my favorite thing to do with tmux is using a sessionizer
       | script[0] (credit for the idea/original implementation goes to
       | ThePrimeagen). allows for fzf-ing my projects and creating a
       | separate session for each one. especially handy for bouncing
       | around when working on features/fixes that span multiple repos
       | 
       | 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...)
        
       | imiric wrote:
       | I've used ` as prefix for years now. Considering how often you
       | switch windows/panes, I reckon using a single character has saved
       | me _hours_ per year. :D
       | 
       | 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...
        
       | Morantron wrote:
       | One way to make tmux way more usable is to use tmux-fingers,
       | which provides hint-based mouse-free copypaste capabilities
       | 
       | https://github.com/morantron/tmux-fingers
       | 
       | (disclaimer: I'm the developer of the plugin)
        
       | johnfn wrote:
       | Guys, did you know about tmux control mode? It tells the host
       | terminal to treat tmux tabs as actual tabs in the terminal. That
       | means that things like scrollback, tab navigation, copy paste,
       | keyboard shortcuts, etc are all handled natively, and you can
       | _visually see_ all your tmux tabs! It doesn 't have great support
       | across all terminals, but it does work great in iTerm 2.
       | 
       | Try `tmux -CC` in iTerm.
       | 
       | For a tmux novice like me, this was a total game changer :)
        
         | mwpmaybe wrote:
         | Holy carp.
        
         | kelsey98765431 wrote:
         | this is the only reason i use a mac and in a decade no open
         | source linux terminal has ever implemented this to my knowledge
        
           | hnlmorg wrote:
           | I have in https://github.com/lmorg/ttyphoon
           | 
           | I actually don't like control mode much though. It's a
           | terrible protocol. Absolutely abysmal design which leads to a
           | plethora of edge case bugs.
           | 
           | At some point I'll replace tmux control mode entirely but for
           | the moment it solves the immediate problem.
        
           | MisterTea wrote:
           | The control mode feature was implemented by the developer of
           | iTerm2 for iTerm2: https://github.com/tmux/tmux/wiki/Control-
           | Mode
        
         | tanvach wrote:
         | Was about the mention this, -CC has been working perfectly for
         | me
        
       | garymiklos wrote:
       | Just use smux.dev
        
       | _345 wrote:
       | I actually asked chatgpt to recommend me a great starter tmux
       | conf, and it gave me 80% of this blog post. Not an insult btw.
        
       | christiansafka wrote:
       | I would also describe haventerminal.com as making tmux pretty and
       | usable! but without any setup steps, first class support for
       | agents, and management of multiple machines. Disclaimer: It's a
       | macOS app we just launched and it ships its own open source
       | session persistence.
        
       | hleszek wrote:
       | I love tmux but one thing which really annoys me is the fact that
       | I cannot use the mouse wheel or the scroll back to see the
       | previous content. I know there are shortcuts to go forward and
       | back but I always forget them and they are not easily accessible
       | on my keyboard and cumbersome.
        
         | saint_yossarian wrote:
         | I think the mouse wheel is mapped by default if you `set mouse
         | on`? I also additionally map Shift-PageUp/Down in my config.
         | And recently they added a `pane-scrollbars` option for a
         | clickable ASCII scrollbar.
        
           | hleszek wrote:
           | Thanks! I works. I modified my ~/.tmux.conf file to be like
           | this:
           | 
           | # Activate mouse mode
           | 
           | set -g mouse on
           | 
           | # Enter copy mode and scroll up with PageUp
           | 
           | bind-key -n Pageup copy-mode -u
           | 
           | # Scroll down with PageDown; if at the bottom, it will exit
           | copy mode automatically
           | 
           | bind-key -T copy-mode-vi Pagedown send-keys -X page-down
           | 
           | bind-key -T copy-mode-vi Pageup send-keys -X page-up
        
       | jzer0cool wrote:
       | Could never get mouse copy to work well (using mac at moment).
       | When I make text selection, selects yellow and upon release goes
       | to terminal prompt. I had one config work at one point and it
       | kept selecting from all panes, not just one the one I'm in. Any
       | ideas?
        
         | never_inline wrote:
         | Try iterm2 which has mouse reporting
        
         | douglee650 wrote:
         | This is also why i gave up on it. Don't want to install iTerm
         | either, more blaot.
        
       | colton_padden wrote:
       | I prefer to hide the status bar entirely, and use an fzf-powered
       | named window switcher to navigate between windows.
       | 
       | https://github.com/cmpadden/dotfiles/blob/6e767691a6b1295260...
        
       | rbanffy wrote:
       | I like to have an IBM 3270 style status bar on the bottom.
       | set-option -gq status-style "fg=brightblue,overline"
        
       | bsdz wrote:
       | At some point I switched to "oh my tmux" which seems to cover
       | most of the customisations I needed
       | https://github.com/gpakosz/.tmux
        
       | OhMeadhbh wrote:
       | I'm perfectly happy with tmux the way it is, but upvoting this
       | one because it's a decent overview of what to modify to make tmux
       | more better if you don't like its defaults.
        
       | znpy wrote:
       | As a long time user of gnu screen (almost fifteen years now) i
       | still have on my todo list to come up with a tmux config that
       | mimics gnu screen... does somebody know if such a thing exists
       | already?
       | 
       | Btw I don't strictly believe in a gnu screen superiority, i'm
       | just lazy.
        
       | 5-0 wrote:
       | > Published on Aug 17, 2015 > Last updated on Oct 2, 2024
       | 
       | 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.
        
       | pprotas wrote:
       | I used tmux for quite some time, and just stopped using it one
       | day. I realized that whatever tmux brings can be done better by a
       | good terminal.
       | 
       | I also hated dealing with all the wrong colors, escape character
       | support, missing chars and messed up terminal buffers
        
         | cassepipe wrote:
         | Wezterm for examples has panes in addition of tabs and
         | scriptable enough (lua) that you can session management:
         | 
         | https://fredrikaverpil.github.io/blog/2024/10/20/session-man...
        
         | alwillis wrote:
         | Most modern terminals have a built-in multiplexing anyway. When
         | you use tmux, you're essentially using a terminal emulator on
         | top of a terminal emulator.
        
       | nickjj wrote:
       | One nice thing about tmux is it also supports include files in
       | its config.
       | 
       | 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/.co
       | nfig/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.
        
       | podoman wrote:
       | Big fan of all of the items mentioned here. I love the "intuitive
       | split commands" -- I'll add that.
       | 
       | 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:
       | 
       | https://github.com/jay-khatri/dotfiles/blob/main/.tmux.conf
        
       | sva_ wrote:
       | For me, this is missing                   bind-key -n M-n new-
       | window         bind-key -n M-1 select-window -t :1         bind-
       | key -n M-2 select-window -t :2         bind-key -n M-3 select-
       | window -t :3         bind-key -n M-4 select-window -t :4
       | bind-key -n M-5 select-window -t :5         bind-key -n M-6
       | select-window -t :6         bind-key -n M-7 select-window -t :7
       | bind-key -n M-8 select-window -t :8         bind-key -n M-9
       | select-window -t :9
       | 
       | To switch around quick. So on my system I've got Super-{1-9} for
       | workspaces, Alt-{1-9} for tmux panes.
       | 
       | Also if you want a vi-like copy mode (where you can select and
       | copy stuff) that opens using Alt-/:                   bind-key -n
       | M-/ copy-mode         set -g status-keys vi         set-window-
       | option -g mode-keys vi              # v to trigger selection
       | bind-key -T copy-mode-vi v send-keys -X begin-selection
       | # wl-copy if you use wayland         # mouse selection in copy
       | mode to copy         bind-key -T copy-mode-vi MouseDragEnd1Pane
       | send -X copy-pipe-and-cancel "wl-copy"         # y to copy
       | bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-
       | copy"
       | 
       | And btw, Ctrl-Shift-v to paste system clipboard
       | 
       | You can also put the config into ~/.config/tmux/tmux.conf
       | 
       | edit: And if you want a powerline-style design:
       | set -g pane-border-style "fg=colour252"         set -g pane-
       | active-border-style "fg=colour25"         set -g status-style
       | "bg=default,fg=default"         set -g status-left
       | "#[fg=colour231,bg=colour25,bold] #S
       | #[fg=colour25,bg=default,nobold]"         set -g status-right
       | "#[fg=colour67,bg=default]#[fg=colour231,bg=colour67] %Y-%m-%d
       | %H:%M #[fg=colour25,bg=colour67]#[fg=colour231,bg=colour25,bold]
       | #h "         setw -g window-status-format
       | "#[fg=colour243,bg=default] #I  #W "         setw -g window-
       | status-current-format "#[fg=colour28,bg=default,reverse]#[fg=colo
       | ur231,bg=colour28,bold,noreverse] #I  #W
       | #[fg=colour28,bg=default,noreverse]"
       | 
       | Requires powerline-fonts
        
       | thcipriani wrote:
       | Ctrl-a interferes with readline shortcuts. I've been using
       | Ctrl-<Space>: nothing, as far as I know, binds to that.
       | unbind C-b         set-option -g prefix C-Space         bind-key
       | C-Space send-prefix
        
         | mhw wrote:
         | I've been using Ctrl-s for years. Nothing else uses it because
         | it's historically been used for terminal flow control, but that
         | doesn't really have much use in a graphical terminal with
         | history and scrollbars and so I've never missed it. Has similar
         | two-finger ergonomics to the Ctrl-a bind as well.
         | 
         | edit: oh, and I think Ctrl-space is the keystroke to get a nul
         | character, and vi uses that character to insert the last
         | entered piece of text in insert mode. It looks like Ctrl-@ does
         | the same things, but tmux might not be able to tell the
         | difference either.
        
         | kombine wrote:
         | Same, I used C-a for a while until I found out its default
         | mapping is jumping to the beginning of the line so I rebound
         | tmux prefix to C-Space. Now my only problem is on a few servers
         | where I haven't copied my dotfiles.
        
         | data-ottawa wrote:
         | I very recently learned that with most readline apps and
         | terminal password inputs, ctrl+u clears the input.
         | 
         | Very handy when you make a typo far into a long password and
         | can't keep track of whether you've mashed backspace enough.
        
       | shye wrote:
       | What I don't see discussed is why tmux (and screen) are still a
       | thing, when we have windowed desktops for 40+ years now.
       | 
       | Disconnecting a session's lifetime from the connection's lifetime
       | hardly need such lengthy tutorial.
       | 
       | And displaying and arranging multiple virtual terminals was
       | supposed to be the job of the terminal emulator and the windowing
       | system.
        
       | jackbravo wrote:
       | Another easy to use option is using byobu
       | (https://github.com/dustinkirkland/byobu).
        
         | snag wrote:
         | I have been using byobu for almost a decade now and it never
         | let me down.
        
       | kenforthewin wrote:
       | I'm constantly fighting with tmux copying. I want it to perform
       | like native copying, but in mouse mode it seems to copy more
       | characters than I want, copy newlines when I don't want them, and
       | doesn't copy to clipboard in tmux-in-tmux situations.
        
         | maleldil wrote:
         | You can use vi copy mode. It makes selection a lot easier.
        
       | zzyzxd wrote:
       | > Less awkward prefix keys
       | 
       | > Probably the most common change among tmux users is to change
       | the prefix from the rather awkward C-b to something that's a
       | little more accessible.
       | 
       | I like the awkwardness of the default prefix key. I have almost
       | never activated it by accident.
       | 
       | > Intuitive Split Commands
       | 
       | > Another thing I personally find quite difficult to remember is
       | the pane splitting commands." to split vertically and % to split
       | horizontally just doesn't work for my brain.
       | 
       | This is super intuitive to me. two ' in parallel means splitting
       | horizontally. two deg split by an almost horizontal line means
       | splitting vertically.
       | 
       | > Easy Config Reloads
       | 
       | I reloaded config over a few hundreds of times in my first week
       | learning tmux a decade ago. I only reloaded config once in the
       | last 5 years if I recall correctly. It's not something you should
       | memorize.
        
         | ghshephard wrote:
         | > I like the awkwardness of the default prefix key.
         | 
         | I am 100% in agreement with you. It takes all of 5 seconds to
         | add:                      unbind-key -T prefix C-b
         | set-option -g prefix C-s
         | 
         | To your .tmux.conf on your _local_ laptop (where I use tmux
         | 99.99% of the time) - without worrying about conflicting on
         | that once-in-one-year event where you start up tmux remotely.
        
       | mmh0000 wrote:
       | I love tmux! It's perfectly usable! You only need a 400-line
       | custom-built configuration file[1]!
       | 
       | [1] https://doc.xn0.org/.tmux.conf
       | 
       | Disclaimer: I am being silly but serious. tmux is absolutely not
       | user-friendly out of the box. It is, however, extremely nice
       | after an absurd amount of tweaking, which is either an
       | endorsement or a damning, depending on your perspective.
        
         | skydhash wrote:
         | Mine is only a few lines copied from jcs's one.
         | 
         | https://github.com/jcs/dotfiles/blob/master/.tmux.conf
         | 
         | I've only reverted the prefix binding back.
        
         | hiAndrewQuinn wrote:
         | I include lines at the top of my own https://andrew-
         | quinn.me/tmux-conf.txt to make it easy to download no matter
         | what kind of box I find myself on.                   # Mindless
         | copy and paste command:         #         #   # Standard Linux
         | / GNU tools         #   wget -O ~/.tmux.conf https://andrew-
         | quinn.me/tmux-conf.txt         #   curl -fsSL https://andrew-
         | quinn.me/tmux-conf.txt -o ~/.tmux.conf         #   busybox wget
         | -q -O ~/.tmux.conf https://andrew-quinn.me/tmux-conf.txt
         | # [... many, many others]
         | 
         | The Windows PowerShell one is aspirational and manifesting. I
         | should add some angel numbers to it to hyperstition more of
         | what I want to see into the world.
        
       | amdivia wrote:
       | My main gripe with tmux is the nested use case (tmux session on
       | my local machine, in which I ssh to another machine, only to tmux
       | attach within the remote machine too). Is there a terminal
       | multiplexer/session daemon that supports nested sessions out of
       | the box with ease?
        
         | she46BiOmUerPVj wrote:
         | I wrote quite a bit of configuration to support an "outer" tmux
         | process and "inner" tmux processes on all the remote hosts I
         | have various and different tasks to accomplish. I am not sure
         | how some software would manage these, but in the very least
         | configuring my outer session to use Ctrl+a while the inner one
         | uses Ctrl+b is working well. I have aliases that specify a
         | socket so I can refer to the sessions easily and not get them
         | confused.
        
       | nurettin wrote:
       | I remember running ssh to connect to a mainframe and starting gnu
       | screen remotely right after watching the matrix. And I've used it
       | ever since.
       | 
       | All these newage tmux hippie yuppies can get off my lawn.
        
       | toniantunovi wrote:
       | One thing that often gets overlooked in the tmux vs. alternatives
       | debate is that tmux's staying power is largely about ubiquity on
       | remote servers. Zellij is great on your local machine where you
       | control the environment, but if you're doing a lot of work via
       | ssh on machines you don't own, tmux is almost certainly already
       | installed. The muscle memory transfers too.
       | 
       | That said, I'd push back on the idea that the default tmux config
       | is just "ugly". The real usability issue is that the keybindings
       | are so divorced from how people intuitively think about splits
       | and windows that even experienced users can't remember them. The
       | visual defaults are just a symptom of the deeper problem that it
       | was designed for someone who already had a mental model built
       | around screen.
        
       | socalgal2 wrote:
       | I don't get it. I don't want a 1970s teletype interface in 2026
       | just to have persistent command line sessions.
       | 
       | Where's the 2026 windowed version that feels exactly like a
       | native terminal/iTerm/ghostty app but keeps sessions alive and
       | lets me reconnect to them, no middle man with Ctrl keys for
       | control.
       | 
       | I know this post will get a lot of hate responses. I don't care.
       | Respond by fax
        
       | semiinfinitely wrote:
       | set-option -g prefix C-x
       | 
       | has been working for me for years
        
       | avadodin wrote:
       | I don't see what's awkward about C-b and %.
       | 
       | No mention of replacing the weird-ass emacs thing on [ with
       | proper vim bindings?
        
       ___________________________________________________________________
       (page generated 2026-04-13 23:00 UTC)