Zsh, Vim and Tmux on my screen
An IDE neatly packed in your terminal

Even for the basic code tinkerer, the “Text Triumvirate” of Zsh, Vim, and Tmux are beautiful and efficient. Dubbed by Seth Brown, this trio of tools has me spending hours on end behind a terminal.

I’m less than six months into anything programming, and I can say that the Triumvirate is doable with just a basic understanding of the command line. As with anything new I stumble into, I jotted down a few notes hoping I can make the path a bit clearer for anyone who jumps in after.

First, here are the links I used to set it all up in less than an hour. While Seth’s post is good branding, it’s not the most accessible for someone new to this kind of thing.

  • Luke Murphy’s Tutorial on setting up the whole Triumvirate is the best I found. He’s also super jovial. Definitely start here.
  • Ham Vocke’s Post on actually using tmux was so helpful and simple for learning to do things like navigate and split terminal panes.
  • Michael Smalley’s Notes on managing dotfiles aka configuration files through git was the final key to the puzzle.

After you go through these three things and get the hang of it, the rest is just trial and error in your terminal. A few resources I constantly refer back to every time I forget a command or need to know how to do something new are:

There’s a big problem when you first read about all this: how to actually define what Zshell, Vim and Tmux are. It was nearly impossible to get a grasp of what each function is and how they work together. Here’s how I break it down:

Zsh = terminal + some extra functions

Vim = text editor run inside a terminal compare to popular app-based editors like Sublime Text, Github’s Atom, or Notepad++

Tmux = productivty manager for a terminal pane splitting, save sessions, etc.

A text editor is a program that people most often use to write code in. Think of it like this:

Text editor : writing code = Microsoft Word : writing an essay

Also, I highly recommend Vim Awesome as a great place to start tinkering with plugins for Vim once you’re all set up.

Finally, feel free to swipe my dotfile setup from Github if you find it helpful. I wouldn’t recommend it if you read this post this far, because there’s no better way to learn than by jumping in yourself!