emacskurs/emacskurs.org

269 lines
5.3 KiB
Org Mode
Raw Normal View History

2013-08-01 01:11:08 +00:00
* 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>