完美支持中文編程的 Emacs 配置文件 .emacs shell
通過今天早晨的一番調試,終於完成這個比較通用的配置文件,使用該配置文件啓動的 Emacs,具有以下特色: 編程
一、完美支持中文; ui
二、支持自動補全,開啓按鍵是(C-c a),須要把 Auto-complete 插件安裝好; spa
三、支持暗色背景,讓你的眼睛舒服一些,本身能夠經過直接修改這句配置來調背景色: 插件
(set-background-color "gray30")
四、支持語法高亮,固然這個原本就支持,不過作了點小改進,把左右括號單獨拿出來上色,看起來更醒目一些; 3d
五、支持顯示行號; unix
六、支持切換 ccl 和 sbcl 調試
效果圖在這裏: code
配置文件以下: orm
;(require 'cl) (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(current-language-environment "Chinese-GBK") '(uniquify-buffer-name-style (quote forward) nil (uniquify))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. ) ;;; ========= (set-language-environment "utf-8") (add-to-list 'load-path "~/LispBox-0.92/ccl-1.8-darwinx86/") (add-to-list 'load-path "~/LispBox-0.92/sbcl-1.0.55/") (add-to-list 'load-path "~/LispBox-0.92/slime-2012-11-13/") (setq load-path (cons "~/LispBox-0.92/slime-2012-11-13/" load-path)) ;(add-to-list 'load-path "~/.emacs.d/slime-2012-11-13/") ;(setq load-path (cons "~/.emacs.d/slime-2012-11-13/" load-path)) (global-font-lock-mode t) (font-lock-add-keywords 'lisp-mode '("[(]" "[)]")) (font-lock-add-keywords 'emacs-lisp-mode '("[(]" "[)]")) (font-lock-add-keywords 'lisp-interaction-mode '("[(]" "[)]")) (set-cursor-color "white") (set-mouse-color "blue") (set-foreground-color "green") (set-background-color "gray30") (set-border-color "lightgreen") (set-face-foreground 'highlight "red") (set-face-background 'highlight "lightblue") (set-face-foreground 'region "darkcyan") (set-face-background 'region "lightblue") (set-face-foreground 'secondary-selection "skyblue") (set-face-background 'secondary-selection "darkblue") (require 'linum) (setq linum-format "%3d ") (add-hook 'find-file-hooks (lambda () (linum-mode 1))) (add-to-list 'load-path "~/LispBox-0.92/auto-complete-1.3.1/") (require 'auto-complete-config) (add-to-list 'ac-dictionary-directories "~/LispBox-0.92/auto-complete-1.3.1/ac-dict") (ac-config-default) (add-hook 'lisp-mode-hook '(lambda () (define-key lisp-mode-map "\C-ca" 'auto-complete-mode))) (add-to-list 'default-frame-alist '(width . 120)) (add-to-list 'default-frame-alist '(height . 50)) (set-buffer-file-coding-system 'utf-8) (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-selection-coding-system 'utf-8) (set-default-coding-systems 'utf-8) (set-clipboard-coding-system 'utf-8) (setq ansi-color-for-comint-mode t) (modify-coding-system-alist 'process "*" 'utf-8) (setq-default pathname-coding-system 'utf-8) (prefer-coding-system 'utf-8) (setq default-process-coding-system '(utf-8 . utf-8)) (setq locale-coding-system 'utf-8) (setq file-name-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) (setq slime-net-coding-system 'utf-8-unix) ;;; ========= ;;; Note that if you save a heap image, the character ;;; encoding specified on the command line will be preserved, ;;; and you won't have to specify the -K utf-8 any more. ;;; (setq inferior-lisp-program "/usr/local/bin/ccl64 -K utf-8") (setq inferior-lisp-program "dx86cl64 -K utf-8") (setq inferior-lisp-program "sbcl -K utf-8") (setq slime-lisp-implementations '((ccl ("/Users/admin/LispBox-0.92/ccl-1.8-darwinx86/dx86cl64") :coding-system utf-8-unix) (sbcl ("/Users/admin/LispBox-0.92/sbcl-1.0.55/sbcl") :coding-system utf-8-unix))) (require 'slime-autoloads) (global-set-key "\C-cs" 'slime-selector) (slime-setup '(slime-fancy slime-asdf slime-banner))
內置了 ccl 和 sbcl 兩種 Common Lisp 實現,直接啓動 slime 的話會調用 ccl ,能夠經過命令來選擇調用哪一種實現,具體操做以下:
啓動方式: M-- M-x slime 說明一下,就是同時按住 ALT 鍵 和 - 鍵(減號),而後再同時按住 ALT 鍵和 x 鍵。 接下來會提示你輸入你要啓動的 Lisp 實現: 輸入 ccl 就是 ccl 輸入 sbcl 就是 sbcl