As a software engineer, increased productivity is one thing that you should always strive for. It's why we have principle like DRY (Don't Repeat Yourself). Shaving seconds off of a task we do every day can lead to lots of extra time reclaimed in the long run.
How many of you have been in this situation when working on a project?
The above image is where I add files to Git and create new files/directories and do things like run curl requests to test my output
This second tab is where I run my server and check on its status
Finally, the third tab has MySQL open so I can keep checking on what my app is actually saving to my database.
Pretty standard, right? In some examples, you might even have these three tabs as separate windows side by side with each other. No matter how you decide to run this, it's pretty annoying to have to tab back and forth. If you're keeping each window side by side, you have to tweak your sizes depending on whether you're working off your built-in display or an external one, etc.
It's a Terminal multiplexer. The site gives you a better description of what that means, but for me it turns my above workflow into this:
Pretty neat, right? Using a hotkey, I can switch between each pane in Tmux. I can customize the exact layout I want by splitting panes horizontally and vertically as many times as I want.
If there's one thing you do after installing Tmux, it's to install this very helpful plugin. Long story short, Tmux doesn't have root access to your machine's filesystem. This plugin fixes that, so you can do things like launch Sublime Text using the
subl command (if you have it symlinked, which you should) while in Tmux.
I heavily encourage you to try using Tmux to boost your productivity. Like with any new productivity tool, it can take time to get used to. Use it for the features you exactly need, don't overextend, and introduce yourself to more of what it's capable of when you need to.