Mac OS X Development Setup — The Basics

In this series of articles, I’ll attempt to cover a bunch of tools and settings that help me get stuff done quickly and efficiently. It’s an opinionated software development setup that works really well for me on my 13-inch MacBook Pro. Not all of these might work for you, so feel free to pick and choose the things you find useful!

To start with, we’ll make a few changes to the dock, keyboard and trackpad. The screenshots and instructions below assume you’re running OS X El Capitan.


System Preferences > Dock

With the introduction of Spotlight, you don’t really need the dock to open or switch applications. Just press Command+Space and start typing the name of the application. It’s almost always faster than locating and clicking on the application’s icon in the dock. You can also use Command+Tab to switch between open applications.

Here’s how I’ve set up the dock :

  • Enable auto-hide. Why would you not, if you’re hardly ever going to use the dock? Free up some precious space on your screen!


System Preferences > Keyboard

Just a couple of small changes will help you move around much faster in a text editor :

  • Set ‘Key Repeat’ to ‘Fast’.

Tip: Press and hold the ‘Option’ key while moving left or right using the arrow keys. The cursor will move faster by jumping words instead of characters.

Another change worth considering is to reassign the Caps Lock key to Control. Here are a few of reasons for doing this :

  • Caps Lock is probably the most easily accessible key after the Space bar and Return, but you hardly ever use it.
System Preferences > Keyboard > Modifier Keys


This is where it starts to get interesting. The MacBook has an amazing trackpad and an incredible set of gestures that have become an indispensable part of my workflow. Here’s how I configure the trackpad :

System Preferences > Trackpad
  • Increase the tracking speed. One or two ticks below the maximum works really well. It lets you move the pointer around the screen quickly and cover large parts of the screen using small movements. If you touch type, you can now use your thumb to move the pointer around the screen. Very convenient!
  • ‘Swipe with four fingers’ to switch between desktops and fullscreen apps. This is another gesture that fits in really well with my development workflow. For instance, when I’m working on a website, I open an editor and a terminal window in one desktop, and a web browser in an adjacent desktop. I use this gesture to quickly switch back and forth during development.
  • Three finger drag. This one is a bit tricky to enable, but once you’ve enabled it, you’ll never need to use the hardware click button again. It is located under “System Preferences” : “Accessibility” : “Mouse and Trackpad” : “Trackpad Options” : “Enable dragging (three finger drag)”. Once enabled, you can swipe with three fingers to select text and drag-n-drop items. It’s really smooth. Give it a shot!
System Preferences > Accessibility > Mouse and Trackpad > Trackpad Options
  • Zoom screen using Control + scroll gesture. This is really handy when you want to take a closer look at a specific part of the screen. Just hold Control (or Caps Lock if you’ve remapped it to Control), and scroll to zoom in. It is located under “System Preferences” : “Accessibility” : “Zoom” : “Use Scroll gesture with modifier keys to zoom”.
System Preferences > Accessibility > Zoom

Bonus - Window Management

As a programmer, you’ll often need to look at multiple windows at once. For example, the following screenshot shows an arrangement of windows I end up using very frequently for web development:

A browser, an editor and a terminal

I achieve this kind of a layout using Moom. It’s not free, but it’s totally worth the price, because I end up using it at least once every 10–15 minutes. Spectacle is a free and open source alternative to Moom, that covers most of the common use cases.

Moom in action

I use Command+Shift+M as the hotkey for Moom and I’ve set up F, V, J and N as shortcuts to move and resize windows to the four quadrants of the screen. Here’s my Moom configuration:


While the settings covered in this articles may seem like minor changes, they have become a very important part of my workflow. I hope you find some of them useful.

In the articles that follow, I’ll go over the process of setting up a terminal (using iTerm2 and Oh My Zsh!) and a source code editor (Sublime Text).

Thanks for reading! If you liked this post, please hit the ❤️ button below. Follow aakashns on Twitter for more articles like this.

If you have tips and tricks of your own, please leave a comment, and I’ll try to include them in the article. Have a nice day!

Founder, Jovian

Love podcasts or audiobooks? Learn on the go with our new app.