前天打字的時候發現手指疼…..OTL…思考了一下多是我近幾個月以來一直在使用所有手敲代碼不使用自動補全的「惡果」(固然我仍是建議所有手敲的,至少能夠感受到強烈的屌絲知足感)。css
先來個效果圖html
是否是看上去碉堡了…git
用的github上面的這個神奇的東西github
下載以後有說明文檔,按照說明文檔進行安裝,這裏說下遇到過的問題windows
若是你是第一次和你的情人約會(給emacs安裝插件)app
須要你添加這樣一句話在你的.emacs文件中編輯器
(add-to-list 'load-path "~/.emacs.d")字體
裏面的"~/.emacs.d"表示你的.emacs.d的文件夾的位置(就是你按照文檔安裝的時候安裝到的路徑,這個是默認路徑,親測windows和osX均可以這樣寫)ui
以後若是可能說
symbol's value as variable is void ac-dictionary-directories
這個時候把下面這一行提早(在 上面增長的那一行以後)
(require 'auto-complete-config)
而後有可能會說找不到popup什麼什麼巴拉巴拉的一堆
搜了一下感受是這樣,auto-complete只是負責補全,可是那個下拉框同樣的東西是須要popup這個插件的
在git上面找到這個:
而後按照文檔輕鬆安裝一下,而後再進入emacs發現不報錯了。小情人的又一次調教完成了!能夠開始享受了。
以後我把.emacs和.emacs.d兩個文件和dropbox裏面作了連接,而後之後走到哪,emacs的配置均可以輕鬆同步了,小情人隨叫隨到,真是讓人愛不釋手啊。
ps: 上週參加BCTF和隊友們聊天說用什麼編輯器,後來講到了vim和emacs兩個。可是又說這兩個傢伙實在是麻煩了,配置起來很浪費時間。我就說,這纔是他們的魅力。就好像在養一個情人,全部你作的事情都是私人定製的,她哪裏讓你不舒服你都能修改(快捷鍵),能夠給她買衣服(裝插件)。關鍵的問題是她不會反抗!!
最後再附上一個最近修改的.emacs文件的內容
1: (custom-set-variables
2: '(custom-enabled-themes (quote (dichromacy)))
3: '(inhibit-startup-screen t))
4: (custom-set-faces
5: )
6: ;;添加load-path
7: (add-to-list 'load-path "~/.emacs.d")
8: ;;自動補全
9: (require 'auto-complete-config)
10: (ac-config-default)
11: (auto-complete-mode t)
12: ;;設置非macOS的字體
13: (set-default-font " -outline-Verdana-normal-normal-normal-sans-17-*-*-*-p-*-iso8859-1")
14: (when (eq system-type 'darwin)
15: ;;設置一個MacOS字體
16: (set-default-font " -apple-Monaco-medium-normal-normal-*-14-*-*-*-m-0-iso10646-1")
17: ;;幹掉小方框!!由於上面那個萬惡的字體沒有草泥馬的斜體!!!
18: (set-fontset-font "fontset-default" 'gb18030' ("STHeiti" . "unicode-bmp"))
19: )
20: ;;設置一個屌逼的c風格的縮進
21: (setq c-basic-offset 4)
22: ;;設置一個開始的路徑
23: (setq default-directory "/Users/lulala/Documents/")
24: ;;關掉默認的tab設置爲4個空格
25: (setq default-tab-width 4)
26: (setq-default indent-tabs-mode nil)
27: ;;弄出來行號
28: (global-linum-mode t)
29: ;;設置好左右匹配
30: (global-set-key [(meta left)] 'backward-sexp)
31: (global-set-key [(meta right)] 'forward-sexp)
32: ;;M-g設置爲gotoline
33: (global-set-key [(meta g)] 'goto-line)
34: ;;設置註釋區域
35: (defun my-comment-or-uncomment-region (beg end &optional arg)
36: (interactive (if (use-region-p)
37: (list (region-beginning) (region-end) nil)
38: (list (line-beginning-position)
39: (line-beginning-position 2))))
40: (comment-or-uncomment-region beg end arg)
41: )
42: (global-set-key [(control /)] 'my-comment-or-uncomment-region)
43:
44: ;;設置搜索時嚴格按照大小寫
45: (setq-default case-fold-search nil)
46:
47: ;;設置搜索時高亮系那是所有
48: (setq search-highlight t)
49:
50: ;;設置替換時高亮顯示
51: (setq query-replace-highlight t)
52: ;;設置背景顏色
53: (set-background-color "#faf9de")
54: ;;應該是行號以後空一條
55: (put 'upcase-region 'disabled nil)
56: ;;set meta real meta
57: (when (eq system-type 'darwin)
58: (setq mac-option-modifier 'meta)
59: (setq mac-command-modifier 'control)
60: (global-set-key [kp-delete] 'delete-char) ;; sets fn-delete to be right-delete
61: )
62: ;;()的匹配
63: (show-paren-mode t)
64: (setq show-paren-style 'parentheses)
65: ;;光標移動到鼠標的時候把鼠標幹掉!
66: (mouse-avoidance-mode 'animate)
67: ;;設置光標爲|而不是小黑塊
68: (setq-default cursor-type 'bar)
69: ;;設置打開ejs的時候默認使用html-mode
70: (
71: setq auto-mode-alist
72: ( append
73: '(("\\.ejs\\'" . html-mode)
74: ("\\.s?html?\\'" . html-mode)
75: (" \\.asp\\'" . html-helper-mode)
76: ("\\.phtml\\'" . html-helper-mode)
77: ("\\.css\\'" . css-mode)
78: ("\\.pc$" . c-mode)
79: )
80: auto-mode-alist))