I just tried XVim for the first time because of this post. This unbelievably well integrated into XCode, and the source code is very clean, especially for obj-c.
Yeah, and the guy has been working for a long time on a huge refactor that will bring column selection, global marks, better window management, and a couple of other things. Not to mention that it may be easier to extend it. This is currently the second best vim implementation after evil-emacs, imho.
I've used AppCode for a couple of months last year and tried again with 2.0 this year, but I really didn't like IdeaVim, and I didn't look like easy to extend.
Thanks for the reply. I really like XVim and I'm really looking forward to the current refactor branch.
XVim is built on an internal layer that doesn't know about Xcode, then all operations are funnelled through an interface that does know about Xcode specific things. This makes it a little easier to upgrade should they decide to refactor Xcode's internal implementation. Still, Xcode's internals haven't really changed that much since 4.2+.
Source: XVim contributor, especially to its architecture