2011年5月10日火曜日

Emacs Slime で auto-complete


このエントリーをはてなブックマークに追加


こちらを参考にやってみた。
http://dev.ariel-networks.com/wp/archives/462

NTEmacsではこのままじゃ旨く行かなかったので、以下を参考に修正。
http://calltopower.wordpress.com/2010/12/29/lisp-emacs-autocomplete/

いい感じだけど、もともとfuzzy補完を使ってて、一緒に動かすと癖のある動作をするから慣れるまでちょっとかかりそう。

修正した dot.emacs


;;; ---------------------------------------------------
;;; auto-comp
;;; ---------------------------------------------------
(add-to-list 'load-path "~/.emacs.d/site-lisp/auto-complete")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/site-lisp/auto-complete/ac-dict")
(ac-config-default)

;; ---------------------------------------------------
;; SLIME
;; ---------------------------------------------------

;; デフォルト実行するCLを選択
(setq inferior-lisp-program "sbcl.exe --noinform")
;;(setq inferior-lisp-program "sbcl.exe --noinform --core c:/emacs/home/user.core")
;;(setq inferior-lisp-program "clisp.exe")
;;(setq inferior-lisp-program "wx86cl.exe")
;;(setq inferior-lisp-program "alisp.exe")
;;(setq inferior-lisp-program "wx86cl64.exe")

(setq slime-net-coding-system 'utf-8-unix)

;; slime 各種設定
(add-hook 'lisp-mode-hook (lambda ()
       (slime-mode t)
       (show-paren-mode)))


;; slime キーバインドを設定
(add-hook 'slime-mode-hook
   '(lambda ()
      (define-key slime-mode-map [(tab)]     'slime-indent-and-complete-symbol)
      (define-key slime-mode-map (kbd "C-i") 'lisp-indent-line)
      (define-key slime-mode-map "\C-cs"     'slime-selector)))

(add-hook 'slime-repl-mode-hook
   '(lambda ()
      (define-key slime-repl-mode-map "\C-c\M-r" 'slime-restart-inferior-lisp)))


(require 'slime)
(slime-setup
 '(
   slime-repl
;;   inferior-slime
;;   slime-asdf
;;   slime-autodoc
   slime-banner
;;   slime-c-p-c
;;   slime-editing-commands
;;   slime-fancy-inspector
   slime-fancy
;;   slime-fuzzy
;;   slime-highlight-edits
;;   slime-parse
;;   slime-presentation-streams
;;   slime-presentations
;;   slime-references
;;   slime-scratch
;;   slime-tramp
;;   slime-typeout-frame
;;   slime-xref-browser
;;   slime-clipboard
;;   slime-compiler-notes-tree
;;   slime-enclosing-context
;;   slime-hyperdoc
;;   slime-fontifying-fu
;;   slime-indentation
;;   slime-mdot-fu
;;   slime-media
;;   slime-motd
;;   slime-package-fu
;;   slime-sbcl-exts
;;   slime-scheme
;;   slime-snapshot
;;   slime-sprof
   ))
;; slime関連の設定は省略

;; slimeでauto-completeを使う
(require 'ac-slime)
(add-hook 'slime-mode-hook      'set-up-slime-ac)
(add-hook 'slime-repl-mode-hook 'set-up-slime-ac)

(define-globalized-minor-mode real-global-auto-complete-mode
  auto-complete-mode (lambda ()
         (if (not (minibufferp (current-buffer)))
      (auto-complete-mode 1))))
(real-global-auto-complete-mode t)

0 件のコメント:

コメントを投稿