2013-04-26 33 views
4

我今天下載了SWI Prolog,但是我無法讓emacs識別我的prolog文件。我保存了擴展名爲.pl的prolog文件,但它始終認爲它們是perl文件。在我的主目錄我有我的./.emacs file,我有我的prolog.el文件。此外,在我的./.emacs文件的末尾附加我以下:Emacs和Prolog

(autoload 'run-prolog "prolog" "Start a Prolog sub-process." t) 
(autoload 'prolog-mode "prolog" "Major mode for editing Prolog programs." t) 
(autoload 'mercury-mode "prolog" "Major mode for editing Mercury programs." t) 
(setq prolog-system 'swi) 
(setq auto-mode-alist (append '(("\\.pl$" . prolog-mode) 
           ("\\.m$" . mercury-mode)) 
           auto-mode-alist) 

我使用此示例.emacs文件:Sample Emacs File

爲什麼Emacs的不承認我的序言文件?我不是那種經驗豐富的emacs,所以所有的幫助非常感謝!

+0

你不需要你自己的prolog.el,因爲Emacs自帶了一個(和相應的自動加載)。 OTOH你對自動模式alist的改變看起來是正確的,應該解決你的問題,所以我不確定它爲什麼不能。 – Stefan 2013-04-27 05:07:56

回答

6

Emacs預先配置爲使用Perl而不是Prolog for .pl,因爲Perl更常見。添加到您的.emacs永久更改配置:

(add-to-list 'auto-mode-alist '("\\.\\(pl\\|pro\\|lgt\\)" . prolog-mode)) 

如果你只是想爲一個單獨的文件和編輯會話做一次,M-x prolog-mode將做到這一點。