Software I Use

Jun 03, 2020

Custom Keyboard Shortcuts

Karabiner for custom key maps.
For example, I’ve remapped CapsLock to Command on hold and Escape if pressed by itself. Same with the semicolon key, it acts as CMD+SHIFT+CTRL on hold or sends ; if pressed by itself.

BetterTouchTool for binding system actions.

Keyboard Maestro for creating macros and automation. The Palette feature is great.

Window Switcher

I’ve tried two popular window switchers, Contexts and Witch.

I prefer the features and UI in Contexts. I mainly use its search feature and customizable app switcher.

Text Editors

Intellij IDEA

For programming, I use Intellij IDEA. I use it for everything since you can download language plugins that’ll let you code in most languages. I haven’t had any serious performance issues and it’s packed with tools.

Intellij has a solid Vim plugin too. IdeaVim lets you map IDE actions in your .ideavimrc file.


Vim makes editing text fun again. I use Neovim in iTerm2 for writing and making quick edits, and IdeaVim for programming.

Vim has a learning curve, but you can become very productive editing text since most commands are just 1-3 key presses away.

Notes and Todo Lists

I get things done by crossing things off a checklist, they’re great. I’ve tried a lot of todo list and note-taking apps in the past, but I’ve narrowed it down to good ol’ Apple Notes and Obsidian, a graph-based note-taking app built on top of local markdown files.

I have iTerm2’s hot key window mapped to a global key bind so I can easily jot notes down and jump back to whatever I was doing. I wanted something similar to Capture in org-mode.


Alfred is a mac productivity tool that’s packed with features. I mainly use it for searching apps, files, and the web.

I’ve also written a post on what hardware I use.