Emacs och Matlab

Emacs är en programmerbar editor som är möjlig att bygga ut så att editorn kan hantera olika programspråk, t.ex. Matlab. Emacs kan då göra sådant som Matlabs egen editor kan t.ex. indentera for-loopar. Filen matlab.el innehåller den Lisp-kod som talar om hur detta (och annat) skall utföras. matlab.el är en rätt stor fil, 6896 rader, och den följer med Matlab-distributionen (filen ligger redan i vårt filsystem). Du kan alltså kopiera denna fil till din egen hemkatalog. Filer av detta slag brukar man dölja. I unix är en fil dold om filnamnet inleds med punkt. Kommandot ls -a listar namnen på alla filer, inlusive dolda sådana. Man har normalt rätt många filer av detta slag (inställningar etc). på sin toppnivå, just nu har jag 288 stycken.

Gör så här  (% betyder kommentar och skall inte skrivas):

öppna ett terminalfönster

% hoppa till din hemkatalog
cd

% kopiera matlab.el till .matlab.el (för att dölja filen)
cp /chalmers/sw/sup/matlab-2007b/java/extern/EmacsLink/lisp/matlab.el .matlab.el

% editera din startup-fil, .emacs, för emacs (om du har någon, skapa filen i annat fall) och lägg in följande rader:

(autoload 'matlab-mode "~/.matlab" "Enter MATLAB mode." t)
(setq auto-mode-alist (cons '("\\.m\\'" . matlab-mode) auto-mode-alist))
(autoload 'matlab-shell "matlab" "Interactive MATLAB mode." t)

Om du nu skriver emacs test.m borde det stå matlab-mode, version 3.0 nederst i emacsfönstret (filnamnet test.m slutar på .m vilket talar om för emacs att du vill editera en Matlab-fil. Testa med att skriva lite for- och if-satser. Studera MATLAB-menyn.


En grupp frågade om tabbar och emacs. Detta verkar vara en hel vetenskap (här finns en del detaljer), men behovet av tabbar minskar om man använder matlab.el, eftersom man då får automatisk indentering. Dock verkar det gå bra att tabba med <ESC>I (tryck på Esc-tangenten följt av I). Om man vill att Tab-tangenten skall fungera, får man läsa detaljerna i länken ovan.


 Ett ord om vim och Matlab

vim har också stöd för olika språk. Starta gvim och titta i Syntax-menyn och välj L-Ma. För detaljer kan du använda hjälp-systemet i gvim. Gå till Help-menyn och välj Find... Leta efter ordet syntax och läs sedan.