269 lines
5.3 KiB
Org Mode
269 lines
5.3 KiB
Org Mode
|
* Emacskurs
|
|||
|
** Intro
|
|||
|
*** Hva er Emacs?
|
|||
|
|
|||
|
- Teksteditor
|
|||
|
- Utvidbar (Elisp)
|
|||
|
- Over 30 <20>r gammel
|
|||
|
- Over 2500 innebygde kommandoer
|
|||
|
- Fri programvare
|
|||
|
|
|||
|
*** Buffere, vinduer og rammer
|
|||
|
|
|||
|
- Tekst vises i buffere
|
|||
|
- Du kan ha s<> mange <20>pene buffere du vil
|
|||
|
- En fil <20>pnes i et nytt buffer
|
|||
|
- Minibufferet (nederste linje), brukes til <20> skrive inn filnavn,
|
|||
|
buffernavn, etc...
|
|||
|
|
|||
|
- Emacs <20>pnes i en ramme
|
|||
|
- En kan ha flere vinduer i samme ramme
|
|||
|
|
|||
|
*** Modes
|
|||
|
|
|||
|
- Major modes
|
|||
|
- hvert buffer har kun <20>n aktiv major mode
|
|||
|
- en major mode gir deg funksjonalitet for en bestemt type
|
|||
|
tekstredigering
|
|||
|
- de fleste programmeringsspr<70>k har sin egen major mode
|
|||
|
|
|||
|
- Minor modes
|
|||
|
- du kan ha s<> mange aktive minor modes du <20>nsker
|
|||
|
- en minor mode tilbyr tilleggsfunksjonalitet
|
|||
|
|
|||
|
Modes tilf<6C>yer ofte egne tastekombinasjoner!
|
|||
|
|
|||
|
*** Tips
|
|||
|
|
|||
|
Emacs er annerledes <20> bruke enn mange andre programmer, s<> det
|
|||
|
krever tilvenning.
|
|||
|
|
|||
|
- i begynnelsen
|
|||
|
- les og gj<67>r <20>learn-by-doing tutorial<61> (C-h t)
|
|||
|
- tving deg selv til <20> bruke de kommandoene du l<>rer til de
|
|||
|
sitter i fingrene
|
|||
|
- unng<EFBFBD> <20>pek og klikk<6B>
|
|||
|
|
|||
|
- etter hvert (for spesielt interesserte)
|
|||
|
- skriv din egen configfil
|
|||
|
- l<EFBFBD>r litt elisp, og skriv dine egne funksjoner
|
|||
|
|
|||
|
- annet
|
|||
|
- gj<EFBFBD>r CAPS-LOCK om til en ekstra Control (Ctrl)
|
|||
|
|
|||
|
** Taster
|
|||
|
*** Terminologi for taster
|
|||
|
|
|||
|
- C-<any>
|
|||
|
Control
|
|||
|
|
|||
|
- M-<any>
|
|||
|
Meta er Alt p<> de fleste maskiner (alternativt ESC)
|
|||
|
|
|||
|
<any> betyr et vilk<6C>rlig tegn (eller tastekombinasjon)
|
|||
|
|
|||
|
*** Prefikstaster
|
|||
|
|
|||
|
- C-x <any>
|
|||
|
prefiks for globale kommandoer
|
|||
|
|
|||
|
- C-c <any>
|
|||
|
prefiks for lokale kommandoer
|
|||
|
(har ikke alltid samme funksjon!)
|
|||
|
|
|||
|
- C-h <any>
|
|||
|
prefiks for hjelp
|
|||
|
|
|||
|
Alle tastekombinasjon som ikke er en prefiks er bundet til en
|
|||
|
kommando!
|
|||
|
|
|||
|
** Komme seg ut
|
|||
|
|
|||
|
- C-x C-c
|
|||
|
avslutt emacs
|
|||
|
|
|||
|
- C-g
|
|||
|
avbryt
|
|||
|
(bruk hvis du ikke skj<6B>nner hva emacs holder p<> med!)
|
|||
|
|
|||
|
- ESC ESC ESC
|
|||
|
(bruk hvis C-g ikke hjalp)
|
|||
|
|
|||
|
- C-<prefix> C-g
|
|||
|
er udefinert
|
|||
|
(Dvs. C-g kan brukes til <20> avbryte prefiks)
|
|||
|
|
|||
|
** Tekstredigering
|
|||
|
*** Flytte mark<72>r
|
|||
|
|
|||
|
- C-f, C-b
|
|||
|
flytt mark<72>ren ett tegn frem/tilbake
|
|||
|
|
|||
|
- M-f, M-b
|
|||
|
flytt mark<72>ren ett ord frem/tilbake
|
|||
|
|
|||
|
- C-a, C-e
|
|||
|
flytt mark<72>ren til begynnelsen/slutten av linja
|
|||
|
|
|||
|
- C-p, C-n
|
|||
|
flytt mark<72>ren til forrige/neste linje
|
|||
|
|
|||
|
*** Bla rundt
|
|||
|
|
|||
|
- C-v, M-v
|
|||
|
scroll ned/opp en side
|
|||
|
|
|||
|
- M-<, M->
|
|||
|
g<> til begynnelsen/slutten av bufferet
|
|||
|
|
|||
|
- C-l
|
|||
|
vis slik at mark<72>ren er i senter/toppen/bunnen
|
|||
|
|
|||
|
*** Kill og yank
|
|||
|
|
|||
|
- C-w
|
|||
|
kill, tilsvarer cut
|
|||
|
|
|||
|
- C-y
|
|||
|
yank, tilsvarer paste
|
|||
|
|
|||
|
- M-w
|
|||
|
lagre til kill-ring, tilsvarer copy
|
|||
|
|
|||
|
- C-k
|
|||
|
kill, drepe resten av en linje
|
|||
|
|
|||
|
- M-y, m<> etterf<72>lges av C-y
|
|||
|
yank-pop, g<>r lenger tilbake p<> kill-ring
|
|||
|
|
|||
|
*** Feiloppretting
|
|||
|
|
|||
|
- C-d, M-d
|
|||
|
fjern neste bokstav/ord
|
|||
|
|
|||
|
- C-_
|
|||
|
undo!
|
|||
|
|
|||
|
- C-t, M-t
|
|||
|
bytt om to bokstaver/ord
|
|||
|
|
|||
|
- C-x C-t
|
|||
|
bytt om to linjer
|
|||
|
|
|||
|
- M-q
|
|||
|
plasserer om tekst i en paragraf slik at linjene ikke overstiger
|
|||
|
70 tegn (den <20>delegger ikke syntaks i programmeringsmodes)
|
|||
|
|
|||
|
- M-u, M-l, M-c
|
|||
|
gj<67>r neste ord til UPPERCASE/lowercase/Capital-Case
|
|||
|
|
|||
|
*** Markering av tekst
|
|||
|
|
|||
|
- C-SPC
|
|||
|
marker tekst
|
|||
|
|
|||
|
- C-x h
|
|||
|
marker all tekst
|
|||
|
|
|||
|
Bruk i kombinasjon med M-w, C-w og TAB
|
|||
|
|
|||
|
** Filer, vinduer og buffere
|
|||
|
*** Filer
|
|||
|
|
|||
|
- C-x C-f
|
|||
|
<20>pne fil
|
|||
|
(hvis den ikke finnes fra f<>r opprettes den)
|
|||
|
|
|||
|
- C-x C-s
|
|||
|
lagre buffer
|
|||
|
|
|||
|
- C-x C-w
|
|||
|
skrive til fil (tilsvarende <20>lagre som...<2E>)
|
|||
|
|
|||
|
*** Vinduer
|
|||
|
|
|||
|
- C-x 2, C-x 3
|
|||
|
splitt et vindu vertikalt/horisontalt
|
|||
|
|
|||
|
- C-x 1
|
|||
|
gj<67>r det aktive vinduet til det eneste vinduet
|
|||
|
|
|||
|
- C-x 0
|
|||
|
lukk det aktive vinduet
|
|||
|
|
|||
|
- C-x o
|
|||
|
bytt fokus til et annet vindu
|
|||
|
|
|||
|
*** Buffere
|
|||
|
|
|||
|
- C-x b RET
|
|||
|
bytt buffer
|
|||
|
(siste bes<65>kte buffer er default)
|
|||
|
|
|||
|
- C-x k RET
|
|||
|
drep (kill) buffer
|
|||
|
(det aktive bufferet er default)
|
|||
|
|
|||
|
- C-x left, C-x right
|
|||
|
en annen m<>te <20> bytter buffer
|
|||
|
|
|||
|
** Kommandoer
|
|||
|
|
|||
|
- M-x function RET
|
|||
|
lar deg kalle en hvilken som helst kommando med navn
|
|||
|
|
|||
|
- M-x replace-string RET erstatt RET med RET
|
|||
|
tilsvarer <20>search and replace<63>
|
|||
|
|
|||
|
- M-x query-replace RET erstatt RET med RET ... y/n
|
|||
|
samme som replace-string, men du kan velge hva som skal
|
|||
|
erstattes
|
|||
|
|
|||
|
Bruk TAB for autocomplete!
|
|||
|
|
|||
|
** S<>king
|
|||
|
|
|||
|
- C-s
|
|||
|
s<>k fremover i bufferet
|
|||
|
|
|||
|
- C-r
|
|||
|
s<>k bakover i bufferet
|
|||
|
|
|||
|
Dette er en effektiv m<>te <20> flytte mark<72>ren!
|
|||
|
|
|||
|
** Hjelp til selvhjelp
|
|||
|
|
|||
|
- C-h k
|
|||
|
bruk hvis du lurer p<> hva en tastekombinasjon gj<67>r
|
|||
|
|
|||
|
- C-h f
|
|||
|
bruk hvis du kjenner navnet p<> en funksjon, men ikke vet hva hva
|
|||
|
den gj<67>r
|
|||
|
|
|||
|
- C-h m
|
|||
|
gir deg informasjon om moden du er i
|
|||
|
(bl.a tastekombinasjoner som er spesielle for moden)
|
|||
|
|
|||
|
- C-h a
|
|||
|
apropos, lar deg s<>ke i hjelpen
|
|||
|
|
|||
|
- C-h C-h, C-h ?
|
|||
|
gir deg hjelp om hjelpen
|
|||
|
|
|||
|
** Programmering
|
|||
|
|
|||
|
- TAB indenterer riktig
|
|||
|
(dersom indenteringen er gal er det et tegn p<> at det er noe galt
|
|||
|
i koden!)
|
|||
|
|
|||
|
- M-;
|
|||
|
kommenterer ut et markert omr<6D>de
|
|||
|
|
|||
|
- M-x compile RET compile-command RET
|
|||
|
lar deg kompilere i Emacs
|
|||
|
(gir trykkbare linker til der feil oppstod)
|
|||
|
|
|||
|
- M-g g <nr> RET
|
|||
|
flytter mark<72>ren til linjenummer <nr>
|
|||
|
|