2013-04-26 32 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将做到这一点。