2013-02-18 16 views
9

My Emacs apre i file .m in modalità ObjC. Tuttavia, voglio aprirli in modalità Octave. Ho già aggiunto al file .emacs:Emacs cambia estensione file - associazione modalità

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

Che altro devo fare? Ho installato la modalità Octave.

+2

'" octave-mod "' è errato nel tuo esempio. Inoltre, usa 'add-to-list' invece di' setq'/'cons'. Per ulteriore assistenza, dovremo sapere come hai installato 'octave-mode'. Più precisamente, è presente 'octave-mode.el' nel tuo' percorso di caricamento'? – lunaryorn

+2

@lunaryorn Sono un principiante di Emacs. Uso Emacs 24.2.1 su Windows 7. In "Opzioni/Gestisci pacchetti Emacs" si dice che il pacchetto "octave-mod" è integrato. C'è un file chiamato "octave-mod.el" in "emacs \ lisp \ progmodes" '. Qual è il percorso di carico? (Quella directory dovrebbe esserci più o meno :)) – marczellm

+1

Confermata; la 'octave-mode' in Emacs vive nella libreria' octave-mod'. Strano. Non dovresti però avere bisogno di una dichiarazione di caricamento automatico personalizzata per una libreria integrata; 'octave-mode' dovrebbe essere caricato automaticamente per impostazione predefinita (o se non era al momento, è certamente ora). – phils

risposta

15

Fortunatamente tutto funziona correttamente e sfortunatamente non ricordo come l'ho risolto :) Forse c'è stato un errore nel mio .emacs in precedenza. Questo è il codice più corretto:

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

L'autoloading non è più necessario nelle versioni recenti; se è necessario abilitarlo, notare che "octave-mode" non è un errore di battitura.

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

se questo non funziona, prova ad eliminare tutti i buffer in cui hai aperto i file .m e prova ad aprire un nuovo file .m diverso da quelli che hai aperto in precedenza. – RAbraham

5

Utilizzare questo.

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

Si è imbattuto in questo esatto problema. La tua affermazione è corretta, ma probabilmente il tuo file .emacs non si sta caricando correttamente. Emacs cerca la variabile "HOME" per caricare le preferenze, codice Lisp ecc

Per vedere ciò che la variabile HOME è:

tampone Apri zero (si tratta di un "gioco luogo" per provare le cose):

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

Valutare questa espressione digitandolo, poi mettere il cursore a destra, poi colpendo Cx Ce

insert (getenv "HOME") 

Emacs mostrerà il vostro percorso di casa in fondo (miniera di de errato in ... Documents and Settings \ UserName) Non ho trovato un buon metodo per cambiarlo, ma si dovrebbe poter aggiungere semplicemente HOME come variabile di ambiente (che non ha funzionato per me) .

è anche parlato di un po 'di più qui: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html

ricordare inoltre che il file deve essere "emacs" e non myConfig.emacs o qualcosa di simile. Utilizzare il comando bash ren per rinominare il file (Windows Explorer non consente di avere file senza nome)