Er der fejl eller mangler på siden? Så skriv gerne til hacker(snabel-a)matfystutor.dk

Emacs

Fra Hackerwiki
Version fra 19. mar. 2019, 18:40 af NikolajPeters (diskussion | bidrag) NikolajPeters (diskussion | bidrag) (NikolajPeters flyttede siden Avanceret Emacs til Emacs hen over en omdirigering: Det er smartere)
(forskel) ←Ældre version | Nuværende version (forskel) | Nyere version → (forskel)
Spring til navigation Spring til søgning

I begyndelsen var vi, og vi (altså teksteditoren vi (se også Vim), som i vi-sual editor. Udtales V I, og ikke vi som i os) var hos Gud, og vi var Gud. Så opfandt Gud Emacs (udtales enten på godt jysk E-maks, eller på lidt mere popsmart engelsk I-max), og Gud så, at det var godt.

Før man starter her, har man nok brugt programmer som WordPerfect eller M$-Word. Sådan noget grafisk noget bruger vi ikke på CS. Du vil højst sandsynligt skrive dine rapporter i Emacs, i et sprog, der hedder LaTeX. Til at begynde med, er det nok lidt tungt at danse med, men man finder hurtigt ud af hvorfor det er så brugt. LaTeX er dog bedst til tekniske rapporter. vi nævner et par grunde til hvorfor Emacs er så god en teksteditor:

  1. Emacs er supporteret af staff, og det er den eneste editor, du kan regne med at få hjælp til at bruge.
  2. Emacs kan alt. Der er endda nogle, der har fået den til at lave kaffe. Hvis der er en operation, du ikke kan finde, er det ikke fordi, den ikke er der, men fordi du ikke ved, hvor du skal lede. Ellers kan du selv programmere den.


Her er noget mere information om, hvorfor Emacs er smart:

Modes

Emacs bruger begrebet modes. Det betyder, at hvis du er ved at editere en Java-fil, er Emacs i Java-mode. D.v.s, at den tekst, du skriver bliver sat op, så den står pænt og læseligt i vinduet. Det betyder også, at der er dukket en menu mere op i menulinjen, som man kan bruge til Java-specifikke ting. Fx kan man kompilere sine programmer fra nogle af menuerne. Af modes, du nok kommer til at bruge på et tidspunkt er:

Normal mode Den mode, der er der til at starte med
Java mode Når man programmerer Java
C mode Når man programmerer C
C++ mode Når man programmerer C++
TeX-mode Når man skriver et LaTeX-dokument

Den mode, du nok vil bruge først, er Java-mode. Den tilhørende menu giver dig mulighed for at markere en del af koden og så lave det til en stor kommentar eller fjerne kommentarer. Desuden lader dette menupunkt dig se, hvilke kommandoer, du kan bruge til at browse i koden.

Smarte kommandoer

Vi kan nu udvide vores kommandorepetoire med nogle nyttige kommandoer, som man kommer til at bruge i programmeringsmæssig sammenhæng: Om nogle af dem tænker du nok, at det er da nemmere at bruge menuerne. Der er to grunde til at bruge dem:

  1. Når du vænner dig til dem, går det hurtigere
  2. Ikke allesammen findes i menuen
M-x goto-line eller M-g g Skifter linje
M-x revert-buffer Henter filen ind igen
C-s i-search Skriv det ord, du søger efter.
C-x i Kan indsætte en fil startende fra markøren
M-x compile Kan compile dit program med en makefile
M-/ Kan afslutte et ord, du er ved at skrive

Og så til de mindre nyttige<ref>C-t er f*ndme nyttig - Peter Ahé</ref>

C-h h Hej på maaange sprog.
M-x psychoanalyze-pinhead Kombinerer M-x doctor og M-x spook
C-t Bytter om på aktuelle og forrige bogstav
C-x C-t Bytter om på aktuelle og forrige linie

Elisp

Elisp er det programmeringssprog, som gør det muligt at udvide Emacs. Dette afsnit gør ikke, at du efter at have læst det kan sætte dig ned og få Emacs til at lave kaffe, men fortæller dig lidt om hvad Elisp er, og hvor du kan lære det. Mange af de funktioner du benytter dig af, når du skriver i Emacs er skrevet i Elisp, og der er mange her på CS, som skriver diverse funktioner i det. Dem kan man så finde og kikke lidt i, hvis man skal bruge noget specielt.

Hvis du vil informere dig lidt om Elisp, kan du se på www-siden:

http://www.delorie.com/gnu/docs/emacs-lisp-intro/emacs-lisp-intro_toc.html Normalt har filer, der indeholder Elisp efternavnet .el (ex my-elisp.el)