Simplified scheme so that it can be exported to reveal, ioslide and beamer.
This commit is contained in:
parent
35e2681e6f
commit
7f0f072b3d
506
emacskurs.org
506
emacskurs.org
@ -1,245 +1,248 @@
|
|||||||
#+Title: Emacskurs
|
#+TITLE: Emacskurs
|
||||||
#+Email: larstvei@ifi.uio.no
|
#+EMAIL: larstvei@ifi.uio.no
|
||||||
|
#+GITHUB: http://github.com/larstvei
|
||||||
|
|
||||||
|
#+OPTIONS: num:nil toc:nil \n:1
|
||||||
|
|
||||||
|
#+BEAMER_THEME: Rochester
|
||||||
|
|
||||||
#+OPTIONS: toc:1 num:nil \n:1
|
|
||||||
#+REVEAL_TRANS: linear
|
#+REVEAL_TRANS: linear
|
||||||
#+REVEAL_THEME: night
|
#+REVEAL_THEME: night
|
||||||
#+REVEAL_THEME: moon
|
#+REVEAL_THEME: moon
|
||||||
#+REVEAL_SPEED: fast
|
#+REVEAL_SPEED: fast
|
||||||
#+REVEAL_HLEVEL: 1
|
#+REVEAL_HLEVEL: 1
|
||||||
|
|
||||||
* Intro
|
* Plan for kurset
|
||||||
** Plan for kurset
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- Før pause:
|
|
||||||
- Innføring i Emacs
|
|
||||||
- Nyttige kommander
|
|
||||||
|
|
||||||
- Etter pause:
|
|
||||||
- Sette opp Emacs på Ifi's maskiner
|
|
||||||
- Skrive en enkel konfigurasjonsfil
|
|
||||||
- Bruke det vi lærte før pause
|
|
||||||
|
|
||||||
** Hva er Emacs?
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- Teksteditor
|
|
||||||
- Utvidbar (Emacs Lisp)
|
|
||||||
- Over 30 år gammel
|
|
||||||
- Over 2500 innebygde kommandoer
|
|
||||||
- Fri programvare
|
|
||||||
|
|
||||||
** Rammer, vinduer og buffere
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- Emacs åpnes i en ramme
|
|
||||||
- Man kan ha flere vinduer i samme ramme
|
|
||||||
- Tekst vises i buffere
|
|
||||||
- Du kan ha så mange åpne buffere du vil
|
|
||||||
- En fil åpnes i et nytt buffer
|
|
||||||
- Minibufferet (nederste linje), brukes til å skrive inn filnavn, buffernavn, etc...
|
|
||||||
|
|
||||||
** Modes
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- Major modes
|
|
||||||
- hvert buffer har kun én aktiv major mode
|
|
||||||
- en major mode gir deg funksjonalitet for en bestemt type
|
|
||||||
tekstredigering
|
|
||||||
- de fleste programmeringsspråk har sin egen major mode
|
|
||||||
|
|
||||||
- Minor modes
|
|
||||||
- du kan ha så mange aktive minor modes du ønsker
|
|
||||||
- en minor mode tilbyr tilleggsfunksjonalitet
|
|
||||||
|
|
||||||
- Modes tilføyer ofte egne tastekombinasjoner!
|
|
||||||
|
|
||||||
** Tips
|
|
||||||
|
|
||||||
- Emacs er annerledes å bruke enn mange andre programmer, så det krever tilvenning.
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- i begynnelsen:
|
|
||||||
- les og gjør «learn-by-doing tutorial» (=C-h t=)
|
|
||||||
- tving deg selv til å bruke de kommandoene du lærer til de sitter i fingrene
|
|
||||||
- unngå «pek og klikk»
|
|
||||||
|
|
||||||
- etter hvert (for spesielt interesserte):
|
|
||||||
- skriv din egen config-fil
|
|
||||||
- lær litt Emacs lisp, og skriv dine egne funksjoner
|
|
||||||
|
|
||||||
- annet:
|
|
||||||
- gjør =CAPS-LOCK= om til en ekstra Control (=Ctrl=)
|
|
||||||
|
|
||||||
* Taster
|
|
||||||
** Terminologi for taster
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- =C-<any>=
|
|
||||||
Control
|
|
||||||
|
|
||||||
- =M-<any>=
|
|
||||||
Meta er =Alt= på de fleste maskiner (alternativt =ESC=)
|
|
||||||
|
|
||||||
- =<any>= betyr et vilkårlig tegn (eller tastekombinasjon)
|
|
||||||
|
|
||||||
** Prefikstaster
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- =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 tastekombinasjoner som ikke er en prefiks er bundet til en kommando!
|
|
||||||
|
|
||||||
** Komme seg ut
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- =C-x C-c=
|
|
||||||
avslutt Emacs
|
|
||||||
|
|
||||||
- =C-g=
|
|
||||||
avbryt
|
|
||||||
(bruk hvis du ikke skjø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 å avbryte prefiks)
|
|
||||||
|
|
||||||
** Tekstredigering
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- =C-f=, =C-b=
|
|
||||||
flytt markøren ett tegn frem/tilbake
|
|
||||||
|
|
||||||
- =M-f=, =M-b=
|
|
||||||
flytt markøren ett ord frem/tilbake
|
|
||||||
|
|
||||||
- =C-a=, =C-e=
|
|
||||||
flytt markøren til begynnelsen/slutten av linja
|
|
||||||
|
|
||||||
- =C-p=, =C-n=
|
|
||||||
flytt markøren til forrige/neste linje
|
|
||||||
|
|
||||||
** Bla rundt
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- =C-v=, =M-v=
|
|
||||||
scroll ned/opp en side
|
|
||||||
|
|
||||||
- =M-<=, =M->=
|
|
||||||
gå til begynnelsen/slutten av bufferet
|
|
||||||
|
|
||||||
- =C-l=
|
|
||||||
vis slik at markøren er i senter/toppen/bunnen
|
|
||||||
|
|
||||||
** Kill og yank
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- =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ølges av =C-y=
|
|
||||||
yank-pop, går lenger tilbake på kill-ring
|
|
||||||
|
|
||||||
** Feiloppretting
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- =C-d=, =M-d=
|
|
||||||
fjern neste bokstav/ord
|
|
||||||
|
|
||||||
- =C-_=, =C-/=, =C-x u=
|
|
||||||
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 ødelegger ikke syntaks i programmeringmodes)
|
|
||||||
|
|
||||||
- =M-u=, =M-l=, =M-c=
|
|
||||||
gjør neste ord til UPPERCASE/lowercase/Capital-Case
|
|
||||||
|
|
||||||
** Markering av tekst
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- =C-SPC=
|
|
||||||
markerer tekst
|
|
||||||
|
|
||||||
- =C-x h=
|
|
||||||
markerer all tekst
|
|
||||||
|
|
||||||
- =M-h=
|
|
||||||
markerer en paragraf
|
|
||||||
|
|
||||||
- Bruk i kombinasjon med =M-w=, =C-w= og =TAB=
|
|
||||||
|
|
||||||
* Filer, vinduer og buffere
|
|
||||||
** Filer
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
- =C-x C-f=
|
#+ATTR_HTML: :class build
|
||||||
åpne fil
|
- Før pause:
|
||||||
(hvis den ikke finnes fra før åpnes et tomt buffer med det nye filnavnet)
|
- Innføring i Emacs
|
||||||
|
- Nyttige kommander
|
||||||
|
|
||||||
- =C-x C-s=
|
- Etter pause:
|
||||||
lagre buffer
|
- Sette opp Emacs på Ifi's maskiner
|
||||||
|
- Skrive en enkel konfigurasjonsfil
|
||||||
|
- Bruke det vi lærte før pause
|
||||||
|
|
||||||
- =C-x C-w=
|
* Hva er Emacs?
|
||||||
skrive til fil (tilsvarende «lagre som...»)
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- Teksteditor
|
||||||
|
- Utvidbar (Emacs Lisp)
|
||||||
|
- Over 30 år gammel
|
||||||
|
- Over 2500 innebygde kommandoer
|
||||||
|
- Fri programvare
|
||||||
|
|
||||||
** Vinduer
|
* Rammer, vinduer og buffere
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- Emacs åpnes i en ramme
|
||||||
|
- Man kan ha flere vinduer i samme ramme
|
||||||
|
- Tekst vises i buffere
|
||||||
|
- Du kan ha så mange åpne buffere du vil
|
||||||
|
- En fil åpnes i et nytt buffer
|
||||||
|
- Minibufferet (nederste linje), brukes til å skrive inn filnavn, buffernavn, etc...
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
* Modes
|
||||||
- =C-x 2=, =C-x 3=
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
splitt et vindu horisontalt/vertikalt
|
#+ATTR_HTML: :class build
|
||||||
|
- Major modes
|
||||||
|
- hvert buffer har kun én aktiv major mode
|
||||||
|
- en major mode gir deg funksjonalitet for en bestemt type
|
||||||
|
tekstredigering
|
||||||
|
- de fleste programmeringsspråk har sin egen major mode
|
||||||
|
|
||||||
- =C-x 1=
|
- Minor modes
|
||||||
gjør det aktive vinduet til det eneste vinduet
|
- du kan ha så mange aktive minor modes du ønsker
|
||||||
|
- en minor mode tilbyr tilleggsfunksjonalitet
|
||||||
|
|
||||||
- =C-x 0=
|
- Modes tilføyer ofte egne tastekombinasjoner!
|
||||||
lukk det aktive vinduet
|
|
||||||
|
|
||||||
- =C-x o=
|
* Tips
|
||||||
bytt fokus til et annet vindu
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- Emacs er annerledes å bruke enn mange andre programmer, så det krever tilvenning.
|
||||||
|
|
||||||
** Buffere
|
- i begynnelsen:
|
||||||
|
- les og gjør «learn-by-doing tutorial» (=C-h t=)
|
||||||
|
- tving deg selv til å bruke de kommandoene du lærer til de sitter i fingrene
|
||||||
|
- unngå «pek og klikk»
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
- etter hvert (for spesielt interesserte):
|
||||||
- =C-x b RET=
|
- skriv din egen config-fil
|
||||||
bytt buffer
|
- lær litt Emacs lisp, og skriv dine egne funksjoner
|
||||||
(siste besøkte buffer er default)
|
|
||||||
|
|
||||||
- =C-x k RET=
|
- annet:
|
||||||
drep (kill) buffer
|
- gjør =CAPS-LOCK= om til en ekstra Control (=Ctrl=)
|
||||||
(det aktive bufferet er default)
|
|
||||||
|
|
||||||
- =C-x left=, =C-x right=
|
* Terminologi for taster
|
||||||
en annen måte å bytter buffer på
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- =C-<any>=
|
||||||
|
Control
|
||||||
|
|
||||||
|
- =M-<any>=
|
||||||
|
Meta er =Alt= på de fleste maskiner (alternativt =ESC=)
|
||||||
|
|
||||||
|
- =<any>= betyr et vilkårlig tegn (eller tastekombinasjon)
|
||||||
|
|
||||||
|
* Prefikstaster
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- =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 tastekombinasjoner som ikke er en prefiks er bundet til en kommando!
|
||||||
|
|
||||||
|
* Komme seg ut
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- =C-x C-c=
|
||||||
|
avslutt Emacs
|
||||||
|
|
||||||
|
- =C-g=
|
||||||
|
avbryt
|
||||||
|
(bruk hvis du ikke skjø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 å avbryte prefiks)
|
||||||
|
|
||||||
|
* Tekstredigering
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- =C-f=, =C-b=
|
||||||
|
flytt markøren ett tegn frem/tilbake
|
||||||
|
|
||||||
|
- =M-f=, =M-b=
|
||||||
|
flytt markøren ett ord frem/tilbake
|
||||||
|
|
||||||
|
- =C-a=, =C-e=
|
||||||
|
flytt markøren til begynnelsen/slutten av linja
|
||||||
|
|
||||||
|
- =C-p=, =C-n=
|
||||||
|
flytt markøren til forrige/neste linje
|
||||||
|
|
||||||
|
* Bla rundt
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- =C-v=, =M-v=
|
||||||
|
scroll ned/opp en side
|
||||||
|
|
||||||
|
- =M-<=, =M->=
|
||||||
|
gå til begynnelsen/slutten av bufferet
|
||||||
|
|
||||||
|
- =C-l=
|
||||||
|
vis slik at markøren er i senter/toppen/bunnen
|
||||||
|
|
||||||
|
* Kill og yank
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- =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ølges av =C-y=
|
||||||
|
yank-pop, går lenger tilbake på kill-ring
|
||||||
|
|
||||||
|
* Feiloppretting
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- =C-d=, =M-d=
|
||||||
|
fjern neste bokstav/ord
|
||||||
|
|
||||||
|
- =C-_=, =C-/=, =C-x u=
|
||||||
|
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 ødelegger ikke syntaks i programmeringmodes)
|
||||||
|
|
||||||
|
- =M-u=, =M-l=, =M-c=
|
||||||
|
gjør neste ord til UPPERCASE/lowercase/Capital-Case
|
||||||
|
|
||||||
|
* Markering av tekst
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- =C-SPC=
|
||||||
|
markerer tekst
|
||||||
|
|
||||||
|
- =C-x h=
|
||||||
|
markerer all tekst
|
||||||
|
|
||||||
|
- =M-h=
|
||||||
|
markerer en paragraf
|
||||||
|
|
||||||
|
- Bruk i kombinasjon med =M-w=, =C-w= og =TAB=
|
||||||
|
|
||||||
|
* Filer
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- =C-x C-f=
|
||||||
|
åpne fil
|
||||||
|
(hvis den ikke finnes fra før åpnes et tomt buffer med det nye filnavnet)
|
||||||
|
|
||||||
|
- =C-x C-s=
|
||||||
|
lagre buffer
|
||||||
|
|
||||||
|
- =C-x C-w=
|
||||||
|
skrive til fil (tilsvarende «lagre som...»)
|
||||||
|
|
||||||
|
* Vinduer
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- =C-x 2=, =C-x 3=
|
||||||
|
splitt et vindu horisontalt/vertikalt
|
||||||
|
|
||||||
|
- =C-x 1=
|
||||||
|
gjø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
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- =C-x b RET=
|
||||||
|
bytt buffer
|
||||||
|
(siste besø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 å bytter buffer på
|
||||||
|
|
||||||
* Kommandoer
|
* Kommandoer
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
- =M-x function RET=
|
- =M-x function RET=
|
||||||
lar deg kalle en vilkårlig kommando med navn
|
lar deg kalle en vilkårlig kommando med navn
|
||||||
|
|
||||||
@ -252,8 +255,8 @@
|
|||||||
- Bruk =TAB= for autocomplete!
|
- Bruk =TAB= for autocomplete!
|
||||||
|
|
||||||
* Søking
|
* Søking
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
- =C-s=
|
- =C-s=
|
||||||
søk fremover i bufferet
|
søk fremover i bufferet
|
||||||
|
|
||||||
@ -263,8 +266,8 @@
|
|||||||
- Dette er en /svært/ effektiv måte å flytte markøren på!
|
- Dette er en /svært/ effektiv måte å flytte markøren på!
|
||||||
|
|
||||||
* Hjelp til selvhjelp
|
* Hjelp til selvhjelp
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
- =C-h k=
|
- =C-h k=
|
||||||
bruk hvis du lurer på hva en tastekombinasjon gjør
|
bruk hvis du lurer på hva en tastekombinasjon gjør
|
||||||
|
|
||||||
@ -281,8 +284,8 @@
|
|||||||
gir deg hjelp om hjelpen
|
gir deg hjelp om hjelpen
|
||||||
|
|
||||||
* Programmering
|
* Programmering
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
- =TAB=
|
- =TAB=
|
||||||
indenterer riktig (dersom indenteringen er gal er det et tegn på at det er noe galt i koden!)
|
indenterer riktig (dersom indenteringen er gal er det et tegn på at det er noe galt i koden!)
|
||||||
|
|
||||||
@ -297,8 +300,8 @@
|
|||||||
flytter markøren til linjenummer =<nr>=
|
flytter markøren til linjenummer =<nr>=
|
||||||
|
|
||||||
* Makroer
|
* Makroer
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
- Makroer er en måte å "ta opp" en rekke kommandoer på
|
- Makroer er en måte å "ta opp" en rekke kommandoer på
|
||||||
|
|
||||||
- =C-x (=
|
- =C-x (=
|
||||||
@ -317,8 +320,8 @@
|
|||||||
gjenta makroen
|
gjenta makroen
|
||||||
|
|
||||||
* Pakker
|
* Pakker
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
- Emacs 24 kommer med innebygd pakkebehandler
|
- Emacs 24 kommer med innebygd pakkebehandler
|
||||||
|
|
||||||
- det finnes tusenvis av pakker
|
- det finnes tusenvis av pakker
|
||||||
@ -334,35 +337,34 @@
|
|||||||
|
|
||||||
- =x= utfør installering/oppgradering/sletting
|
- =x= utfør installering/oppgradering/sletting
|
||||||
|
|
||||||
** Anbefalinger
|
* Anbefalinger
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
|
||||||
- [[https://github.com/auto-complete/auto-complete][Auto-Complete]]
|
- [[https://github.com/auto-complete/auto-complete][Auto-Complete]]
|
||||||
viser mulige fullføringer
|
viser mulige fullføringer
|
||||||
|
|
||||||
- [[https://github.com/emacsmirror/undo-tree][Undo-Tree]]
|
- [[https://github.com/emacsmirror/undo-tree][Undo-Tree]]
|
||||||
et mer standard undo-system, med trestruktur
|
et mer standard undo-system, med trestruktur
|
||||||
|
|
||||||
- [[https://github.com/magnars/multiple-cursors.el][Multiple cursors]] ([[http://emacsrocks.com/e13.html][demo]])
|
- [[https://github.com/magnars/multiple-cursors.el][Multiple cursors]] ([[http://emacsrocks.com/e13.html][demo]])
|
||||||
lar deg kontrollere flere markører samtidig!
|
lar deg kontrollere flere markører samtidig!
|
||||||
|
|
||||||
- [[https://github.com/oneKelvinSmith/monokai-emacs][Monokai]]
|
- [[https://github.com/oneKelvinSmith/monokai-emacs][Monokai]]
|
||||||
et fargetema (hentet fra Sublime)
|
et fargetema (hentet fra Sublime)
|
||||||
|
|
||||||
* Til slutt
|
* Nyttige lenker
|
||||||
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
|
#+ATTR_HTML: :class build
|
||||||
|
- [[http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html#Top][Emacs manualen]]
|
||||||
|
- [[http://termvakt.ifi.uio.no/Emacs][Termvaktens guide til Emacs]]
|
||||||
|
- [[http://www.masteringemacs.org/reading-guide/][En flott blogg om Emacs]]
|
||||||
|
- [[http://www.ic.unicamp.br/%7Ehelio/disciplinas/MC102/Emacs_Reference_Card.pdf][En cheat-sheet for Emacs]]
|
||||||
|
- [[https://github.com/larstvei/dot-emacs][Min konfigurasjonsfil]]
|
||||||
|
|
||||||
** Nyttige lenker
|
* Spørsmål?
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
#+ATTR_REVEAL: :frag roll-in
|
||||||
- [[http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html#Top][Emacs manualen]]
|
#+ATTR_HTML: :class build
|
||||||
- [[http://termvakt.ifi.uio.no/Emacs][Termvaktens guide til Emacs]]
|
- Noen spørsmål nå?
|
||||||
- [[http://www.masteringemacs.org/reading-guide/][En flott blogg om Emacs]]
|
- Kom ned i pausen hvis dere har spørsmål eller ønske for neste time!
|
||||||
- [[http://www.ic.unicamp.br/%7Ehelio/disciplinas/MC102/Emacs_Reference_Card.pdf][En cheat-sheet for Emacs]]
|
- Gjerne send mail til [[mailto:larstvei@ifi.uio.no][larstvei@ifi.uio.no]]!
|
||||||
- [[https://github.com/larstvei/dot-emacs][Min konfigurasjonsfil]]
|
|
||||||
|
|
||||||
** Spørsmål?
|
|
||||||
|
|
||||||
#+ATTR_REVEAL: :frag roll-in
|
|
||||||
- Noen spørsmål nå?
|
|
||||||
- Kom ned i pausen hvis dere har spørsmål eller ønske for neste time!
|
|
||||||
- Gjerne send mail til [[mailto:larstvei@ifi.uio.no][larstvei@ifi.uio.no]]!
|
|
||||||
|
Loading…
Reference in New Issue
Block a user