アットウィキロゴ

Emacs

Objective-C mode

You can activate objective-c mode to write following code in .emacs.el
(add-to-list 'auto-mode-alist '("\\.mm?$" . objc-mode))
(add-to-list 'auto-mode-alist '("\\.h$" . objc-mode))
 
You can activate auto-complement to use auto-complete, company-mode, ac-company.
These el files are downloaded and extracted to ~/.emacs/lisp
cd ~/.emacs.d/lisp
curl -O http://cx4a.org/pub/auto-complete/auto-complete-1.3.tar.bz2
curl -O http://nschum.de/src/emacs/company-mode/company-0.5.tar.bz2
curl -O http://github.com/buzztaiki/auto-complete/raw/master/ac-company.el
tar xvfj auto-complete-1.3.tar.bz2
tar xvfj company-0.5.tar.bz2
 
Implements following code in .emacs.el to activate el files.
;(add-to-list 'load-path "~/.emacs.d/lisp")
(let ((default-directory (expand-file-name "~/.emacs.d/lisp")))
 (add-to-list 'load-path default-directory)
 (if (fboundp 'normal-top-level-add-subdirs-to-load-path)
     (normal-top-level-add-subdirs-to-load-path)))
 
(require 'auto-complete-config)
(require 'ac-company)
(global-auto-complete-mode t)
(ac-company-define-source ac-source-company-xcode company-xcode)
(setq ac-modes (append ac-modes '(objc-mode)))
(add-hook 'objc-mode-hook
      (lambda ()
        (define-key objc-mode-map (kbd "\t") 'ac-complete)
        (push 'ac-source-company-xcode ac-sources)
            ))
(define-key ac-completing-map (kbd "C-n") 'ac-next)
(define-key ac-completing-map (kbd "C-p") 'ac-previous)
(define-key ac-completing-map (kbd "M-/") 'ac-stop)
(setq ac-auto-start nil)
(ac-set-trigger-key "TAB")
 
Tab indent is set by 4 space.
(add-hook 'c-mode-common-hook
         '(lambda()
             (c-set-style "cc-mode")))
(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)
 
Auto inserting Arcs.
(add-hook 'c-mode-common-hook
         '(lambda()
            (make-variable-buffer-local 'skeleton-pair)
            (make-variable-buffer-local 'skeleton-pair-on-word)
            (setq skeleton-pair-on-word t)
            (setq skeleton-pair t)
            (make-variable-buffer-local 'skeleton-pair-alist)
            (local-set-key (kbd "(") 'skeleton-pair-insert-maybe)
            (local-set-key (kbd "[") 'skeleton-pair-insert-maybe)
            (local-set-key (kbd "{") 'skeleton-pair-insert-maybe)
            (local-set-key (kbd "`") 'skeleton-pair-insert-maybe)
            (local-set-key (kbd "\"") 'skeleton-pair-insert-maybe)
            ))
 
最終更新:2011年07月03日 21:13