end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

emacsのauto-complete.elでは.abbrev_defの内容も含め自動補完

http://d.hatena.ne.jp/end0tknr/20090418/1240047494

以前のエントリでabbrevによるemacsの静的略語展開を記載していますが、auto-complete.elでは補完対象の情報源として、他のbufferやファイル名だけでなく.abbrev_defの定義内容も使用できるそうです。

http://code.google.com/p/auto-complete/
http://www.cx4a.org/pub/ac-demo/ac-demo.html
http://www.emacswiki.org/emacs/AutoComplete

auto-complete.elがあれば、eclipse のcode assistやgoogle 日本語入力と同様の自動補完をemacsで実現してるので、使わせていただくことにします。

auto-complete.elの入手

http://www.cx4a.org/pub/auto-complete-1.0.zip を展開して4個のelファイルを load-path (ex. c:/emacs/site-lisp)に配備

.emacsの編集

; 静的略語展開(abbrev)
(define-key esc-map " " 'expand-abbrev) ;静的略語展開は M-SPCに変更

;; auto-complete http://code.google.com/p/auto-complete/
(require 'auto-complete)
(require 'auto-complete-config)
(global-auto-complete-mode t)
;情報源 ;bufferにある同一modeからsuggest
(setq-default ac-sources '(ac-source-words-in-same-mode-buffers
; ac-source-filename ;file name suggest
ac-source-abbrev)) ;.abbrev_defsでsuggest
;auto- completeを使用するmode
(setq ac-modes
(append ac-modes
'(perl-mode cperl-mode html-helper-mode sql-mode)))
(define-key ac-completing-map "\C-n" 'ac-next)
(define-key ac-completing-map "\C-p" 'ac-previous)

実際使ってみると、auto-complete.elって、心地よいです