frosty's blog · RSS


My simple tmux configuration

January 19, 2026 · #config #tech

Hi there. Yes, it’s been a while since my last post. I feel it’s time to write about things I enjoy again.

I use the tmux terminal multiplexer daily. Today, I want to share and explain my configuration for it and perhaps spark some interest in someone.

Changing the prefix key

The most predictable change in my configuration: setting the prefix key to something other than C-b. However, unlike most people who use C-a or C-SPC, I use C-j, and I personally think it’s the best prefix combination.

My problem with the default prefix key (C-b) and C-a, is that they’re both used by Readline in Emacs mode. Despite using Vim, I’m a big fan of Emacs keys as well, and I use them in Readline. C-b and C-a are used for going backward a character and to the beginning of the line respectively.

Instead, I use C-j, as it’s where my fingers already are, and it’s not used by anything that I use as often as going backward a character - C-j just creates a new line (or executes the command in the case of Bash).

unbind C-b
set -g prefix C-j
bind C-j send-prefix

Making window and pane numbering sane

I normally think indexing from 0 is far more sane, but I have to agree with Lua’s numbering scheme and start with 1, just this once. It makes it much easier to switch windows and panes (I barely use panes though) via its index when it starts with 1, as 0 is on the other side of the keyboard. And, I’d also like tmux to renumber windows and fill in the gaps when a window in the middle gets terminated.

set -g base-index 1
set -g pane-base-index 1
set -g renumber-windows on

My non-flashy status bar

Many people take pride in having a very fancy status bar that’s rich in information, but I take the opposite approach. I disable the right status section, and make the colors as unintrusive as possible. I also like to have the status bar at the top. I find it easier to read.

set -g status-position top
set -g status-right ""
set -g status-style fg=default
set -g window-status-style fg=brightblack
set -g window-status-current-style fg=brightblue,bold

Pane colors

Just to match the colors I use in the status bar, I change the pane colors as well. Even though I don’t use panes that often, it’s nice to have.

set -g pane-border-style fg=brightblack
set -g pane-active-border-style fg=brightblue

New project shell alias

There are alternatives to this, such as using fzf and listing out certain project directories, but I like the approach of using a shell alias for starting a new project based on the current working directory.

alias tp='tmux new -As "proj-$(basename "$PWD" | tr . _)"'

Conclusion

This is the entire configuration I need to feel decently productive. You can find a copy of the tmux.conf this post is based on here.

Thanks for reading, and I hope to have another post out sooner than last time!