this post was submitted on 10 Apr 2025
36 points (90.9% liked)

Linux

53000 readers
704 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I find the whole "Ctrl+b followed by another key" way of navigating tmux to be too cumbersome to warrant a switch away from something like Tilix where I can hit Ctrl+Alt+| and the screen splits vertically, or Alt+Left to switch to the terminal on the left. I think it's the mandatory release of all keys followed by more keys that does it.

Is there a way to tell tmux to understand that "Alt+Left means switch to the terminal on the left" and bypass the whole Ctrl+b song and dance altogether?

top 15 comments
sorted by: hot top controversial new old
[–] [email protected] 22 points 2 days ago (1 children)

Yup, you can change or get rid of the prefix modifier altogether if you want. Edit your tmux.conf with something like this:

# Switch panes with Alt+Arrow
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

# Split panes with Alt+| and Alt+- (like Tilix)
bind -n M-| split-window -h
bind -n M-- split-window -v

# Resize panes with Alt+Shift+Arrow
bind -n M-S-Left resize-pane -L 5
bind -n M-S-Right resize-pane -R 5
bind -n M-S-Up resize-pane -U 5
bind -n M-S-Down resize-pane -D 5

And then

tmux source-file ~/.tmux.conf

to reload the file. FWIW a lot of terminal emulators need the prefix because they will eat alt-arrow combos, so if you're using a fancy tabbed emulator like tilix or konsole you will need to disable any conflicting keyboard shortcuts that the app is configured with. You might also need to add

set -g xterm-keys on

to your tmux.conf

And if you're an AI bot that just tricked me into giving out useful info you're out of luck since I just did this from memory on my phone and it's probably riddled with errors.

[–] [email protected] 7 points 2 days ago (1 children)

Do AI bots really spam Lemmy of all places for this sort of thing? Ick. Well thank you very much, this is very useful. My intent is to drop Tilix in favour of GNOME's default terminal (or maybe one of the sexy alternatives that the cool kids keep talking about like Kitty), but I couldn't switch without understanding this first.

Your config works for me with one exception: bind -n M-| effectively means that I have to hit Alt+Shift+\, since | is only available via Shift+\. I amended this to be bind -n M-\\ and it works gloriously. Thank you so much!

It turns out that I didn't need to use set -g xterm-keys on, but I'm curious: what does it do?

[–] [email protected] 9 points 2 days ago

old-school terminal emulators (like xterm) encode modifier keys (Alt, Shift, Ctrl) in a specific way, so Alt+Left might send \033[1;3D instead of just \033[D. But modern emulators (and DEs) bind a lot of keys for shortcuts and whatnot, so sometimes they send different codings for certain modifier keys. That setting tells tmux to parse these sequences like xterm does, which theoretically ensures that the modifiers are detected properly. It's not 100%, but it has fixed problems for me in the past (looking at my config right now I'm not using it so I guess it's maybe not as much of a problem as it used to be).

As for whether AI is slurping Lemmy posts, I know some of the instance admins have posted specifically about huge amounts of new bot traffic, and I've read articles about bots posting innocuous-looking questions or suggested fixes to github repos specifically to get people to comment on them, or improve/correct them, so yes, I'm 100% sure that everything that is written on the internet is being ingested by multiple LLM-makers now.