Beginner tmux

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:

Remote sessions

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.


Now read this

A golang proposal

No language is perfect. Every language has warts that can’t be designed away. Recently I’ve been noticing this pattern show up a lot: thing, err := methodCouldErr() if err != nil { return err } useThing(thing) Error propagation in golang... Continue →