EMACS下 彈出窗口式的 Auto-Complete 自動補全工具簡單介紹 javascript
auto-complete 是一個很不錯的自動補全工具,彈出窗口顯示補全列表,比較不錯的是自定義的函數,只要在這個編輯緩衝區出現太短語,也會自動識別,下面第一個例子是系統關鍵字,第二個例子是自定義的關鍵字: php
簡單介紹一下安裝和使用.
一、下載對應版本
MS WINDOWS系統下載這個 http://cx4a.org/pub/auto-complete/auto-complete-1.3.1.zip
其餘LINUX/UNIX/OSX系統下載這個 http://cx4a.org/pub/auto-complete/auto-complete-1.3.1.tar.bz2 css
二、解壓到本地目錄,個人解壓目錄是這個 「F:\Downloads\auto-complete-1.3.1\」 java
三、在準備安裝的位置手工新建一個目錄,我新建的目錄在這裏 「F:\lispbox-0.9\emacs-24.2\lisp\auto-complete-1.3.1\「 python
四、啓動 emacs ,在EMACS裏執行安裝文件 INSTALL.el 具體操做爲在EMACS 啓動後輸入: c++
Alt+x load-file接下來會提示你輸入要加載的文件,也就是那個INSTALL.el 文件,記得要帶全路徑,輸入以下:
F:\Downloads\auto-complete-1.3.1\etc\instll.el而後就會提示你輸入要安裝的目錄,輸入以下:
F:\lispbox-0.9\emacs-24.2\lisp\auto-complete-1.3.1\通常來講就自動安裝成功了,而後EMACS會跳出一個新緩衝區,裏面有幾行配置代碼,須要你拷貝到本身的 EMACS 配置文件中,個人是以下內容:
(add-to-list 'load-path "f:/lispbox-0.9/emacs-24.2/lisp/auto-complete-1.3.1/") (require 'auto-complete-config) (add-to-list 'ac-dictionary-directories "f:/lispbox-0.9/emacs-24.2/lisp/auto-complete-1.3.1/ac-dict") (ac-config-default)
把這幾行手動拷貝到你的EMACS初始化配置文件中(通常來講都是用戶目錄下的 .emacs ,不過個人環境是本身組裝的 LISPBOX,初始化配置文件是 F:\lispbox-0.9\emacs-24.2\site-lisp\lispbox.el )。 shell
把這幾行命令拷貝過去以後,從新啓動EMACS,再打開一個編輯緩衝區應該就可使用 auto-complete 的自動補全功能了,惋惜悲催的是它就是沒效果,只好再返回去讀它的說明文檔,而後查看源代碼 auto-complete.el,發現沒有提供 LISP-MODE 只提供了EMACS-LISP-MODE 和 LISP-INTERACTIVE-MODE ,就本身加了一句 LISP-MODE 。 ruby
【小知識】話說EMACS下有3種LISP模式: ecmascript
第一種是 EMACS-LISP-MODE,就是但凡編輯以 .el 和 .emacs 爲後綴的文件,以及文件名爲 _emacs 的文件都會自動啓動EMACS-LISP-MODE;
第二種是 LISP-MODE,全部以 .lisp 或 .l 或 .lsp 或 .ml 爲後綴的文件,都會對應到 LISP-MODE,這種模式就是開發LISP程序要用到的;
最後一種是 LISP-INTERACTIVE-MODE ,就是LISP 交互模式。
修改的代碼以下: 函數
(defcustom ac-modes '(emacs-lisp-mode lisp-mode lisp-interaction-mode c-mode cc-mode c++-mode java-mode clojure-mode scala-mode scheme-mode ocaml-mode tuareg-mode perl-mode cperl-mode python-mode ruby-mode ecmascript-mode javascript-mode js-mode js2-mode php-mode css-mode makefile-mode sh-mode fortran-mode f90-mode ada-mode xml-mode sgml-mode) "Major modes `auto-complete-mode' can run on." :type '(repeat symbol) :group 'auto-complete)
Alt-x auto-complete-mode這下終於生效了,就是前面的效果圖。