我的emacs 配置

来源:互联网 发布:虚拟机安装mac 显卡 编辑:程序博客网 时间:2024/05/14 12:32
;;;for melap
(require 'package)
(add-to-list 'package-archives
             '("melpa" . "https://melpa.org/packages/") t)
(when (< emacs-major-version 24)
  ;; For important compatibility libraries like cl-lib
  (add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/")))
(package-initialize)


;;;for quicklisp sbcl
(require 'slim-mode)
(load (expand-file-name "~/quicklisp/slime-helper.el"))
(setq inferior-lisp-program "sbcl")

;;;;;for ac-slime
(require 'ac-slime)
(add-hook 'slime-mode-hook 'set-up-slime-ac)
(add-hook 'slime-repl-mode-hook 'set-up-slime-ac)
(eval-after-load "auto-complete"
  '(add-to-list 'ac-modes 'slime-repl-mode))

;;;;;;;;;
主要针对 sbcl slime 以及 auto-complete
;;start auto complete
;;(require 'auto-complete-mode)
(add-to-list 'ac-dictionary-directories
         "~/.emacs.d/elpa/auto-complete-20150618.1949/dict")
(require 'auto-complete-config)
(ac-config-default)
;;;
(defvar ac-slime-modes
  '(lisp-mode))

(defun ac-slime-candidates ()
  "Complete candidates of the symbol at point."
  (if (memq major-mode ac-slime-modes)
      (let* ((end (point))
              (beg (slime-symbol-start-pos))
               (prefix (buffer-substring-no-properties beg end))
                    (result (slime-simple-completions prefix)))
    (destructuring-bind (completions partial) result
      completions))))

(defvar ac-source-slime
  '((candidates . ac-slime-candidates)
    (requires-num . 3)))

(add-hook 'lisp-mode-hook (lambda ()
                (slime-mode t)
                (push 'ac-source-slime ac-sources)
                (auto-complete-mode)))

0 0
原创粉丝点击