Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
tmuxinator
https://github.com/tmuxinator/tmuxinator
There are other solutions but I used this one for a while and liked it. Then stopped doing as much development at home (work is Windows) and haven't used it in a while. It's easy(ish) to create different configs for different needs. I basically had a Common Lisp IDE or a C++ IDE or whatever set of things I commonly used.
https://github.com/tmux/tmux/issues/1689
It is my own fault of blindly following someone's online configuration without truly understanding each line of the setup. I spent a whole day trying to recover my customized prefix and lost in pane vs window differences. Now my .tmux.conf only has 4 lines and I am done with over-customizations. It was unnecessary emergency when I was already behind on work. I don't think I will ever migrate the rest of the config.
The article covers the basics. Once you are ready to go beyond that, I would recommend exploring customisations, which are well covered by Awesome Tmux: https://github.com/rothgar/awesome-tmux
The other beginner tip I would give that's not in the original article is the command:
set mouse
Also if you are a DE user check out https://gnunn1.github.io/tilix-web/
I use this instead of tmux, it allows me to split panes GUIy.
tmux panes and windows become native iTerm panes and windows. It allows you to open and split with the iTerm keyboard shortcuts you're used to ⌘N, ⌘T, ⌘D.
Make sure you use `tmux -CC` to launch
https://gitlab.com/gnachman/iterm2/-/wikis/TmuxIntegration
Try the defaults until you get the basics. Look at the help file what you can do and what you need. After that you may want to implement seamless navigation between tmux panes and vim splits[0]. It really isn't a must but hey, it is very convenient for starters since they don't have any muscle memory for switching different splits.
After that maybe try to do same with AwesomeWM and that would be the ultimate navigation setup.
[0] https://github.com/christoomey/vim-tmux-navigator
Very similar to tmuxinator, but in python:
https://github.com/tmux-python/tmuxp
I use this one as I found it easier to set up, and a bit more intuitive to script. Also if you use python rather than ruby, it's easier to understand!