Skip to content

Instantly share code, notes, and snippets.

@naoya
Created March 22, 2013 03:17
Show Gist options
  • Save naoya/5218680 to your computer and use it in GitHub Desktop.
Save naoya/5218680 to your computer and use it in GitHub Desktop.
;; auto-complete
;; -----------------------------------------------------------------------------
(require 'auto-complete-config)
(require 'auto-complete-ruby)
; (require 'auto-complete-etags)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/elisp/ac-dict")
(ac-config-default)
(global-auto-complete-mode t)
;(add-hook 'auto-complete-mode-hook
; (lambda ()
; (add-to-list 'ac-sources 'ac-source-filename)
; (add-to-list 'ac-sources 'ac-source-words-in-buffer)))
(setq ac-sources '(ac-source-abbrev ac-source-words-in-buffer))
; (add-to-list 'ac-sources 'ac-source-etags)
(setq ac-auto-start t)
(setq ac-dwim nil)
;; 補完ウィンドウ内でのキー定義
(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")
;; 候補の最大件数 デフォルトは 10件
(setq ac-candidate-max 20)
;; perl
(add-hook 'cperl-mode-hook
(lambda ()
(require 'perl-completion)
(add-to-list 'ac-sources 'ac-source-perl-completion)))
;; ruby
(add-hook 'ruby-mode-hook
(lambda ()
(make-local-variable 'ac-omni-completion-sources)
(setq ac-omni-completion-sources '(("\\.\\=" . (ac-source-rcodetools))))))
;; coffee
(setq ac-modes (append ac-modes '(coffee-mode)))
;; less-css
(add-to-list 'ac-modes 'less-css-mode)
(add-hook 'less-css-mode-hook 'ac-css-mode-setup)
;; Objective-C + auto-complete
;; auto-complete + company-mode + ac-company
;; http://sakito.jp/emacs/emacsobjectivec.html
;; -----------------------------------------------------------------------------
(require 'ac-company)
;; ac-company で company-xcode を有効にする
(ac-company-define-source ac-source-company-xcode company-xcode)
;; objc-mode で補完候補を設定
(setq ac-modes (append ac-modes '(objc-mode)))
;; hook
(add-hook 'objc-mode-hook
(lambda ()
(define-key objc-mode-map (kbd "\t") 'ac-complete)
;; XCode を利用した補完を有効にする
(push 'ac-source-company-xcode ac-sources)
;; C++ のキーワード補完をする Objective-C++ を利用する人だけ設定してください
; (push 'ac-source-c++-keywords ac-sources)
))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment