EmacsでObjective-C, Objective-C++を編集する

f:id:tuto0621:20140809225141p:plain

f:id:tuto0621:20140809225200p:plain

RubyKokuban(ofrubyに改名予定)のiOS版を作っています。

OSXの時はほとんどC++で書けたので気にならなかったのですが、iOS用に作る時はObjective-C(拡張子.m)やObjective-C++(拡張子.mm)の編集が必要です。

さっそくEmacsで編集出来るように設定を行いました。

.emacs.d/init.el の設定

参考: Emacs で iPhone アプリ開発を快適にするための設定 : 紹介マニア

(add-to-list 'auto-mode-alist '("\\.mm?$" . objc-mode))
(add-to-list 'magic-mode-alist '("\\(.\\|\n\\)*\n@implementation" . objc-mode))
(add-to-list 'magic-mode-alist '("\\(.\\|\n\\)*\n@interface" . objc-mode))
(add-to-list 'magic-mode-alist '("\\(.\\|\n\\)*\n@protocol" . objc-mode))
  • Objective-Cを編集するためのobjc-modeは標準搭載
  • 拡張子(.m, .mm)の時にobjc-modeで開く
  • .hはc-mode, c++-modeの可能性があるため、@implementation, @interface, @protocol がテキスト無いに含まれているいる時のみobjc-modeで開くように

紹介マニアさんの設定そのままだけど上手くいきました。本当はff-find-other-fileでヘッダと実装ファイルを行き来出来るようにもしたかったのだけどそっちは何故か動かなかったのでまたそのうちに。