2013-02-18 14 views
9

My Emacs otwiera pliki .m w trybie ObjC. Jednak chcę je otworzyć w trybie Octave. Dodałem już plik .emacs:Rozszerzenie pliku rozszerzenia Emacs - skojarzenie trybu

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

Co jeszcze należy zrobić? Mam zainstalowany tryb Octave.

+2

'" oktawa-mod "' ma nieprawidłowy zapis w twoim przykładzie. Ponadto użyj 'add-to-list' zamiast' setq'/'cons'. Aby uzyskać dodatkową pomoc, musimy wiedzieć, w jaki sposób zainstalowałeś 'oktawę-tryb'. Dokładniej, czy 'oktave-mode.el' występuje w twoim' load-path'? – lunaryorn

+2

@lunaryorn Jestem nowicjuszem Emacs. Używam Emacsa 24.2.1 na Windows 7. W 'Opcjach/Zarządzaj pakietami Emacs' jest napisane, że pakiet' oktawowy-mod' jest wbudowany. W 'emacs \ lisp \ progmodes jest plik o nazwie' oktawa-mod.el' '. Jaka jest ścieżka obciążenia? (Ten katalog powinien być w nim prawie w całości :)) – marczellm

+1

Potwierdzony; "tryb oktawowy" w Emacsie żyje w bibliotece "oktawy-mod". Dziwne. Nie powinieneś jednak potrzebować niestandardowej deklaracji autoloadowania dla wbudowanej biblioteki; 'oktawa-mode' powinna być automatycznie ładowana automatycznie (lub jeśli nie była wtedy, to na pewno jest teraz). – phils

Odpowiedz

15

Na szczęście wszystko działa teraz i niestety nie pamiętam, jak to naprawiłem :) Może wystąpił błąd w moim .emacs wcześniej. Jest to poprawniejszy kod:

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

Automatyczne ładowanie jest niepotrzebne w najnowszych wersjach; jeśli potrzebujesz go włączyć, pamiętaj, że "octave-mode" nie jest literówką.

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

jeśli to nie działa, spróbuj zabić wszystkie bufory, w których zostały otwarte pliki .m i spróbuj otworzyć nowy plik .m inny niż te, które wcześniej otworzyłeś. – RAbraham

5

Użyj tego.

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

Wpadłem właśnie na ten problem. Twoje zdanie jest poprawne, ale plik .emacs prawdopodobnie nie ładuje się poprawnie. Emacs przeszukuje „Home” zmienną załadować preferencji, kod lisp itp

aby zobaczyć co jest zmienna HOME:

bufor Otwarte scratch (jest to „bawić się”, aby spróbować rzeczy):

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

ocenić to wyrażenie wpisując je, a następnie umieszczając kursor w prawo, a następnie uderzając Cx Ce

insert (getenv "HOME") 

Emacs wyświetli swoją drogę do domu na dnie (kopalnia de błąd do ... Documents and Settings \ UserName) Nie wymyśliłem dobrego sposobu, aby to zmienić, ale powinieneś móc po prostu dodać HOME jako zmienną środowiskową (to nie działa dla mnie) .

To także mówił o trochę więcej tutaj: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html

Należy również pamiętać, że plik musi być „.emacs” i nie myConfig.emacs lub coś podobnego. Użyj komendy bash, aby zmienić nazwę pliku (Eksplorator Windows nie zezwoli na pliki bez nazwy)

Powiązane problemy