September 5, 2013

Fixing Broken Key Repeat With Sublime Text 3 And Vintageous

Super quick, mini post to try and save some people from tearing their hair out. If like me you use Sublime Text 3 and Vintageous in Mac OS X Lion, you may be in for a nasty surprise when it comes to navigating in command mode... trying to hold down home-row keys for navigation just doesn't work. Key repeat seems to be broken.

Why?

The reason is that Apple changed the default behaviour in Lion to make international input a little bit easier—try holding down the 'e' key to see that in action—but the upshot is that the letter keys don't repeat. This is great for most people but a killer if you're trying to navigate a file using h, j, k and l.

Fixing It

All over the net there's plenty of sites telling you how to disable this feature, but nearly all of them only provide a global solution. A global fix might be for you, but I'm also in the process of using Duolingo to try and learn some French, and for that international input is a big plus so the global fix is right out. After some hunting I found a solution that works per application, based on the application's domain for app defaults.

For sublime text 3 you simply need to execute the following in a terminal:

defaults write com.sublimetext.3 ApplePressAndHoldEnabled -bool false

and then restart Sublime. If you're using Sublime Text 2 and hitting the same issue, you can probably guess what to change ;)