When programming, I and millions like me like to keep my hands on the keyboard and minimize the number of times that I have to spend time going through the process of lifting my hand off the keyboard to reach for the mouse, do something with the mouse, and return the hand to the keyboard. Being able to perform all editing functions from the keyboard is very efficient.
Thus, if an environment supports something like vim emulation, I’m all over it.
After upgrading to Yosemite I found that navigating in my JetBrains IDEs vim was dead. Even though key repeating is set in the keyboard preferences, keys won’t repeat. Worse, letters that can take accents pop up a menu that then expects me to choose and accent, e.g.
I recognize this as behaviour derived from iOS devices, and can sympathize with non-programmers scratching their head asking, “Why would anybody want keys to repeat? There are no words that contain kkkkkkkkkkkkkkkkkkkkk.” But, they are not programmers using keyboard navigation.
To disable this behaviour, enter the following command in a terminal.
defaults write -g ApplePressAndHoldEnabled -bool false
You’ll need to restart your programs to pick up this new default behaviour, however.
Apparently this new behaviour appeared in Lion, but with Yosemite is seems to be a default forced on everybody.