Why I use tmux

tmux is a "terminal multiplexer" - a program that makes one terminal window into many.

I use the terminal a lot and am often switching between codebase so this is very useful for me.

I use a different session for each codebase. If I'm working on one and need to switch to another, I can detach from one session and attach to another. Later, when I'm ready to switch back, I do the same again.

I usually have multiple windows inside a session. Neovim will be in the main one, and I can run separate commands - especially long-running ones like watchers - with their own windows.

If I need to split a window and have Neovim on the left and a terminal for running tests on the right, I can do this with different panes.

Being able to organise my workspace in this way has become a big part of my development workflow and my productivity.