UPDATE . I have used the xVim plugin in the last four months and, despite a couple of errors, I consider this the best solution at the moment.
===
I ran into this dilemma in the last month, and my recent solution was KeyRemap4MacBook (which gives you a decent amount of Vi-keys in system-wide mode and works on Lion).
This is in no way the optimal solution. I am still 60% useful in Xcode since I am in Vim, but it is a way to stay in Xcode and have some of the Vi functions. Here's a link to a recent blog post with a picture of my KeyRemap4MacBook settings .
In addition, I studied command line scripts for creating and running projects (this way I could skip Xcode and stay with Vi and the terminal - although it seems like you're trying to avoid this). I did not find anything extraordinary, but Iām sure that if we can handle it, then someone will find an acceptable solution.
source share