emacs文字列補完機能 auto-complete を使いたい
emacsでの編集中に一度打った変数名などを補完してくれるauto-complete
様々なサイトやGitHubのページなどが紹介されていますがGitHubの開発ライセンスが必要と言われインストールすることができませんでした。
当方の環境は、GNU/Linux と Mac OS X Yosemite 10.10.3 です。
の中で紹介されているこちらのリンクからダウンロードできますできません。(追記2016/09/07 リンク切れしていますね)
http://cx4a.org/pub/auto-complete/auto-complete-1.3.1.zip
$ make
$ make install DIR=~/.emacs.d/
で出力された結果の
Add the following code to your .emacs:
より下の行を.emacsに書き加えることでauto-completeへのパスが張られ使えるようになります。
pと打つだけでクラスの属性が候補に出てきてくれたりと非常に優秀。
勿論自分で用意した変数名も候補に挙がります。
Tabキー以外に矢印キーの上下でも候補を選択する事ができるのですが、これが鬱陶しいという人はソースコードのauto-complete.elで
(defvar ac-completing-map
(let ((map (make-sparse-keymap)))
(define-key map "\t" 'ac-expand)
(define-key map "\r" 'ac-complete)
(define-key map (kbd "M-TAB") 'auto-complete)
(define-key map "\C-s" 'ac-isearch)
(define-key map "\M-n" 'ac-next)
(define-key map "\M-p" 'ac-previous)
;; (define-key map [down] 'ac-next)
;; (define-key map [up] 'ac-previous)
(define-key map [f1] 'ac-help)
(define-key map [M-f1] 'ac-persist-help)
(define-key map (kbd "C-?") 'ac-help)
(define-key map (kbd "C-M-?") 'ac-persist-help)
のように [down] [up]の行をコメントアウトした上でmakeし直せば反映されます。