VimでiPhoneの開発をするときにしておくと便利な設定。

Mac

とうとうXcode4のプレビュー版がWWDCに行けなかった開発者にも公開されました。

たかとももさっそくDLして使ってみましたが、いままでのXcodeからかなり進化していてびっくりしてしまいました。慣れるまではちょっと大変そうですが、使いこなせたらものすごい簡単に開発ができそうな気がします。

Xcode4が正式版になったときに Vim + cocoa.vim に修正が必要になったりしないといいのですが。。。。

ということで、今日はちょっとした設定の紹介です。

VimでC言語やらを書いているときに include “hogehoge” と書かれているところの上で gf とするとincludeされたファイルにジャンプできる機能があります。ただObjective-Cの場合だと include “hogehoge” ではなくて import “fugafuga” とか import <UIKit/UIKit.h> だったりしてうまくジャンプできません。

おすすめの使い方

  • 編集しているファイルを :vsplit して画面分割する。
  • import “hogehoge” の上で gf する
  • ジャンプした先のファイルから、さらに gf もできます。
  • ジャンプしすぎたときは C-o で戻る。

ウィンドウを分割することで、ジャンプした先のファイルを参考にしながら編集ができるので楽ちんですよね。

ということで以下が設定になります。



autocmd FileType objc setlocal path=.;,/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks,/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks,,
autocmd FileType objc setlocal include=^\s*#\s*import
autocmd FileType objc setlocal includeexpr=substitute(v:fname,'\/','\.framework/Headers/','g')

まず1行目はファイルを探すためディレクトリを指定してあります。SDKのバージョンが変わったときにはここを適宜 変更してください。。次に2行目でimport “” と import <> の間に書かれているところがincludeされたファイルだと指定します。最後の行は Import <UIKit/UIKit.h>の「UIKit/UIKit.h」の部分を「UIKit.framework/Headers/UIKit.h」に書き換えをしています。

この3つを設定してあげると Import <UIKit/UIKit.h> と書かれたところで gf したときに、pathで設定したディレクトリ ・ includeexprの設定が組み合わさって/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk\
/System/Library/Frameworks/UIKit.framework/Header/UIKit.h にジャンプできるようになります。ジャンプしたところから戻るには C-o を使ってくださいね。

意外と便利なのでぜひ設定してくださいね♪

でわでわ、たかともでした。

autocmd は augroup MyObjcCmd 〜 augtoup END でくくってあげて、先頭に augroup MyObjcCmd の次の行には autocmd! なんてしてあげるのもいいかと。

コメント »

コメントはまだありません。

コメントする

Get Adobe Flash playerPlugin by wpburn.com wordpress themes