2013-02-18 89 views
9

我的Emacs以ObjC模式打開.m文件。不過,我想以八度模式打開它們。我已經加入到.emacs文件:Emacs更改文件擴展名 - 模式關聯

(autoload 'octave-mode "octave-mod" nil t) 
(setq auto-mode-alist (cons '("\\.m$" . octave-mode) auto-mode-alist)) 

還有什麼應該怎麼辦?我確實安裝了Octave模式。

+2

''「octave-mod」'拼寫錯誤在您的示例中。另外,使用'add-to-list'而不是'setq' /'cons'。爲獲得更多幫助,我們需要知道您是如何安裝'octave-mode'的。更具體地說,'load-path'中有'octave-mode.el'嗎? – lunaryorn 2013-02-18 17:33:07

+2

@lunaryorn我是Emacs的新手。我在Windows 7上使用Emacs 24.2.1。在'Options/Manage Emacs Packages'中,它說內置了'octave-mod'軟件包。在emacs \ lisp \ progmodes中有一個名爲'octave-mod.el'的文件'。什麼是負載路徑? (該目錄應該是在它:) :) – marczellm 2013-02-19 21:14:05

+1

確認; Emacs中的「octave-mode」位於'octave-mod'庫中。奇怪的。儘管如此,你不應該爲內置庫需要一個自定義的自動加載聲明; 'octave-mode'默認應該是自動加載的(或者當前不是,現在肯定是)。 – phils 2013-05-23 00:45:01

回答

15

好在一切現在工作,不幸的是我不記得我是如何解決它:)也許有一個錯誤在我.emacs早。這是更正確的代碼:

(add-to-list 'auto-mode-alist '("\\.m$" . octave-mode)) 

在最近的版本中自動加載不需要;如果您確實需要啓用它,請注意"octave-mode"不是拼寫錯誤。

(autoload 'octave-mode "octave-mod" nil t) 
+0

如果這不起作用,請嘗試查殺所有打開.m文件的緩衝區,並嘗試打開與之前打開的文件不同的新.m文件。 – RAbraham 2013-11-10 17:55:51

5

使用此。

;; octave-mode 
(autoload 'octave-mode "octave-mode" "Loding octave-mode" t) 
(add-to-list 'auto-mode-alist '("\\.m\\'" . octave-mode)) 
0

剛纔遇到了這個確切的問題。 您的陳述是正確的,但您的.emacs文件可能未正確加載。 Emacs的搜索「HOME」變量加載的喜好,Lisp代碼等

要查看您的HOME變量是什麼:

開放臨時緩衝區(這是一個「玩的地方」去嘗試的事情了):

C-x C-b *scratch* <RET> 

通過鍵入它,然後把光標移動到右側,然後擊中CX策評估這個表達式

insert (getenv "HOME") 

Emacs會在底部(我去展示你家的路有問題...... Documents and Settings \ UserName) 我還沒有找到改變它的好方法,但你應該能夠簡單地將HOME作爲環境變量添加(這對我來說不起作用) 。

它也談到了一點在這裏: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html

還記得該文件必須是「的.emacs」,而不是myConfig.emacs或類似的東西。使用bash命令仁重命名文件(Windows資源管理器不會讓你有無名的文件)