EMACS下 彈出窗口式的 Auto-Complete 自動補全工具簡單介紹

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)

再次重啓EMACS,而後仍是沒效果,就手動啓動了一下 auto-complete,也就是在emacs 裏執行以下命令 :
Alt-x auto-complete-mode
這下終於生效了,就是前面的效果圖。
相關文章
相關標籤/搜索