I just finished my first week at my new job. I took the opportunity to learn a new technology that I’ll hopefully have fully integrated into my toolbox soon.
I’ve realized over the years that if I really want to learn and internalize something like a tool, I have to start at the very beginning. It takes a lot of discipline but I think the end result will be worth the effort.
That means not changing defaults, customizing shortcuts, or anything like that. I’m forcing myself to use vanilla tmux until I can open, detach, and reattach sessions with my eyes closed. To keep the scope of what I have to learn as small as possible, this is all I’ll be using tmux for, for at least the first few months.
As a reminder to myself, these are the commands I have to make second nature:
tmux new -s [name] # create a new session tmux det # detach from session tmux ls # show session list tmux a -t [name] # attach to a session tmux kill-session -t [name] # kill a session
There is also a set of keyboard shortcuts that are useful to know in case I’m not in a shell context:
CTRL + b s # show session picker CTRL + b d # detach from session
This is just the beginning. Features I’m looking forward to taking the time to learn after getting these basics down are:
That last one looks to be very useful, especially now that I’ve switched to a Linux development machine from an OS X one. It means I’ll be able to do most of my work in my preferred environment, and have the flexibility to attach to a session on a local VM for build work.