My Mac setup: some of my favorite programs

Sashko Stubailo
5 min readNov 10, 2014

--

Every once in a while, people ask me what kinds of programs I use on my Mac to streamline my programming workflow, so I thought I would write them down. These programs cover everything from editing text to managing windows and keyboard shortcuts. Some of them port over features that I liked from my Windows days, and others implement functions that should be in the operating system. Let’s get to it!

Editor: Sublime Text

A screenshot of Sublime Text

http://www.sublimetext.com/

I’ve used a few different editors: Dreamweaver (sorry!), Notepad++, Geany, Vim, and now Sublime Text. I found that I never got to learning all of the fancy keyboard shortcuts in Vim, and so I never got to the point where using it actually made me more efficient. I also think Sublime has an easier package management system and a saner default setup, so I can spend less time configuring the editor and more time actually writing code.

The main plugins I use:

My favorite features:

  • Cmd-P to open a file in the current project by filename
  • Cmd-D to initiate multiple selections
  • The built-in file browser
  • Opening Sublime from the terminal, and using it as my default editor for Git and other programs. I can even open a directory with “sublime .” (https://www.sublimetext.com/docs/2/osx_command_line.html)

Terminal: iTerm 2

Screenshot of iTerm with a few tabs open

http://iterm2.com/

I’ve always wanted to navigate terminal tabs as easily as browser tabs, and open my terminal with a global hotkey. iTerm gives me both of those features. I have configured my caps lock key to open the terminal (using Seil, described below), making it super easy to use Sublime for editing, drop into the terminal for a second to run a command, and then close the terminal with the same key. I also love the default hotkeys, which match Chrome’s tab navigation hotkeys — Cmd-W to close a tab, Cmd-# to open a certain tab, Cmd-T to open a new tab.

I used to have iTerm open using ~ (tilde), like in Quake, but unfortunately editing markdown requires you to use that key all the time, so I had to compromise on the nostalgia.

Search: Alfred

Screenshot of the Alfred search popup

http://www.alfredapp.com/

Spotlight is pretty awesome, but doesn’t exactly meet my needs. What I want is pretty simple:

  • Open search with one key
  • Type the first few characters of a program name and enter to run the program
  • Type a URL to go to it in my default browser
  • Type a search query and hit enter to search on Google

I was pretty excited to find out that all of these are default behaviors of Alfred! I set up the right command key to open Alfred because I don’t really use that key and it reminds me of how I used to open the Windows search feature with the Windows key (unfortunately all of the modifier keys on the left are actually used on a Mac).

Window Management: Moom + Hyperdock

The Moom window resizing popup

http://manytricks.com/moom/ and http://hyperdock.bahoom.com/

Neither Moom nor Hyperdock do the trick by themselves, but together they do exactly what I want:

  • Snap windows by dragging to the sides or corners of the screen, like in Windows (Moom or Hyperdock, I use Moom)
  • Display window previews when hovering over the dock, like in Windows (Hyperdock)
  • If I really need to, snap windows to thirds of the screen. Moom does this brilliantly by displaying a grid that you can paint over to position the window.
Screenshot of Hyperdock window previews

I feel like these could be features of the native Mac window manager, but while they aren’t I don’t think I could live without these two programs.

Keyboard remapping: Karabiner and Seil

https://pqrs.org/osx/karabiner/ and https://pqrs.org/osx/karabiner/seil.html.en

Out of the box, Mac OS has only rudimentary keyboard remapping features. I had to install these two programs to create two key mappings:

  1. Map caps lock to F1 to open iTerm
  2. Map right Cmd to F2 to open Alfred

Those are both keys I almost never use, that are now mapped to two programs I use every few minutes. Not having to move my hands to the F-keys or enter a two-key combination to start a search or open my terminal has made life much more convenient.

Editing Markdown: Macdown

http://macdown.uranusjr.com/

I get that Markdown is supposed to be used from a standard text editor, but sometimes having a preview is nice. MacDown is very pretty, easy to use, and (with some effort) can be configured to open files from the terminal.

[Edited Jul 2, 2015: Switched from Mou to MacDown]

Well, that’s it!

Hopefully some of these tools are useful to you — it definitely took me a while to find all of these things and compare alternatives to figure out the most efficient combination for me.

A little about me: I’m Sashko Stubailo (@stubailo on Twitter). I work at Meteor Development Group in San Francisco, building an exciting and futuristic JavaScript web framework. Check it out: https://www.meteor.com/

--

--

Sashko Stubailo

engineer at @stripe. previously open source eng manager at @apollographql and @meteorjs, https://github.com/stubailo