I'm a developer who mostly does web stuff in ruby and C#.

I'd like to start tinkering with iOS and Mac development.

Over the last few month i've been trying to get fluent in one set of key bindings (vi / vim because it just feels right).

I have the awesome ViEmu installed for visual studio on windows which gives me a ton of the vim awesomeness side by side with visual studio power toys.

Is there anything like this for xcode?

I know I could set up MacVim as the default editor, but I'm not too interested in this as it means losing all of xcode's cocoa awareness.

The other option of course would be to go for the lowest common denominator and switch to emacs (as the mac keybindings are based massively on emacs) but let's not think about that for too long. :P

6 Answers 6


I have just made one. Here is a link to it.

This is currently developed for personal (my) use. So you may feel bad with some lack of implementation. Give me a feedback (or feature requests) then. I'll add some keybinds or commands if I have enough time.

  • Latest build I tried works great on Xcode 4.3.2! Jul 2, 2012 at 9:41
  • i just downloaded it and built it.. but how do I use it? for example if i was using vim in the shell.. i'd press 'i' to enter edit mode and escape to enter vim command mode.. how do i do those in xcode?
    – abbood
    Feb 22, 2013 at 6:30

I never tried to used this because Xcode key bindings are not so bad but you could take a look at http://www.corsofamily.net/jcorso/vi/


I've been obsessed with finding a solution since moving to developing for iOS, and the best answer I've found so far (that works for Lion, too) is installing KeyRemap4MacBook and manually enabling some of the Ubiquitous Vim Bindings and Vi mode.

One of the awesome features that comes from doing this is that now other applications have Vim keybindings, too (for instance, I've been performing Normal mode commands while typing in this textarea on Chrome).


I just cloned the git repository xVim and ran the build in Xcode (as the instructions say), and it works like a champ. Right now, it has a limited keyset, but has what I need for now. And you get to look at the source code to learn how to write an XCode Plugin and work with Objective-C


Unfortunately, there are no Vim keybindings available for XCode (frustrating I know). XCode does however have a rich shortcut featureset.

This is a good shortcut cheat sheet (poster size) http://www.1729.us/xcode/Xcode%20Shortcuts.png

I think it is also important to realise that having Vim keybindings in XCode is not necessarily a good thing.

Vim has a minimalistic design with coding speed as a goal. Your fingers should never have to leave the keyboard. For this, a good set of keybindings is very important.

XCode is a feature rich development environment that simplifies (through the use of a GUI) many of the repetitive (or complicated) features that would otherwise get in the way of development. For this you will need to interact with the IDE and therefore having good keybindings is not crucial to the functionality of the IDE (as opposed to Vim).


ViEmu has become available for Xcode 4, I've tried it and it's far far better than all the other Vim emulators for Xcode.

Not the answer you're looking for? Browse other questions tagged or ask your own question.