Simplified scheme so that it can be exported to reveal, ioslide and beamer.
This commit is contained in:
		
							parent
							
								
									35e2681e6f
								
							
						
					
					
						commit
						7f0f072b3d
					
				
							
								
								
									
										502
									
								
								emacskurs.org
									
									
									
									
									
								
							
							
						
						
									
										502
									
								
								emacskurs.org
									
									
									
									
									
								
							| @ -1,245 +1,248 @@ | ||||
| #+Title: Emacskurs | ||||
| #+Email: larstvei@ifi.uio.no | ||||
| #+TITLE: Emacskurs | ||||
| #+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_THEME: night | ||||
| #+REVEAL_THEME: moon | ||||
| #+REVEAL_SPEED: fast | ||||
| #+REVEAL_HLEVEL: 1 | ||||
| 
 | ||||
| * Intro | ||||
| ** 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 | ||||
| 
 | ||||
| * Plan for kurset | ||||
|   #+ATTR_REVEAL: :frag roll-in | ||||
|    - =C-x C-f= | ||||
|      åpne fil | ||||
|      (hvis den ikke finnes fra før åpnes et tomt buffer med det nye filnavnet) | ||||
|   #+ATTR_HTML: :class build | ||||
|   - Før pause: | ||||
|     - Innføring i Emacs | ||||
|     - Nyttige kommander | ||||
| 
 | ||||
|    - =C-x C-s= | ||||
|      lagre buffer | ||||
|   - Etter pause: | ||||
|     - Sette opp Emacs på Ifi's maskiner | ||||
|     - Skrive en enkel konfigurasjonsfil | ||||
|     - Bruke det vi lærte før pause | ||||
| 
 | ||||
|    - =C-x C-w= | ||||
|      skrive til fil (tilsvarende «lagre som...») | ||||
| * Hva er Emacs? | ||||
|   #+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 | ||||
|    - =C-x 2=, =C-x 3= | ||||
|      splitt et vindu horisontalt/vertikalt | ||||
| * Modes | ||||
|   #+ATTR_REVEAL: :frag roll-in | ||||
|   #+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= | ||||
|      gjør det aktive vinduet til det eneste vinduet | ||||
|   - Minor modes | ||||
|     - du kan ha så mange aktive minor modes du ønsker | ||||
|     - en minor mode tilbyr tilleggsfunksjonalitet | ||||
| 
 | ||||
|    - =C-x 0= | ||||
|      lukk det aktive vinduet | ||||
|   - Modes tilføyer ofte egne tastekombinasjoner! | ||||
| 
 | ||||
|    - =C-x o= | ||||
|      bytt fokus til et annet vindu | ||||
| * Tips | ||||
|   #+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 | ||||
|    - =C-x b RET= | ||||
|      bytt buffer | ||||
|      (siste besøkte buffer er default) | ||||
|   - etter hvert (for spesielt interesserte): | ||||
|     - skriv din egen config-fil | ||||
|     - lær litt Emacs lisp, og skriv dine egne funksjoner | ||||
| 
 | ||||
|    - =C-x k RET= | ||||
|      drep (kill) buffer | ||||
|      (det aktive bufferet er default) | ||||
|   - annet: | ||||
|     - gjør =CAPS-LOCK= om til en ekstra Control (=Ctrl=) | ||||
| 
 | ||||
|    - =C-x left=, =C-x right= | ||||
|      en annen måte å bytter buffer på | ||||
| * Terminologi for taster | ||||
|   #+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 | ||||
| 
 | ||||
|   #+ATTR_REVEAL: :frag roll-in | ||||
|   #+ATTR_HTML: :class build | ||||
|   - =M-x function RET= | ||||
|     lar deg kalle en vilkårlig kommando med navn | ||||
| 
 | ||||
| @ -252,8 +255,8 @@ | ||||
|   - Bruk =TAB= for autocomplete! | ||||
| 
 | ||||
| * Søking | ||||
| 
 | ||||
|   #+ATTR_REVEAL: :frag roll-in | ||||
|   #+ATTR_HTML: :class build | ||||
|   - =C-s= | ||||
|     søk fremover i bufferet | ||||
| 
 | ||||
| @ -263,8 +266,8 @@ | ||||
|   - Dette er en /svært/ effektiv måte å flytte markøren på! | ||||
| 
 | ||||
| * Hjelp til selvhjelp | ||||
| 
 | ||||
|   #+ATTR_REVEAL: :frag roll-in | ||||
|   #+ATTR_HTML: :class build | ||||
|   - =C-h k= | ||||
|     bruk hvis du lurer på hva en tastekombinasjon gjør | ||||
| 
 | ||||
| @ -281,8 +284,8 @@ | ||||
|     gir deg hjelp om hjelpen | ||||
| 
 | ||||
| * Programmering | ||||
| 
 | ||||
|   #+ATTR_REVEAL: :frag roll-in | ||||
|   #+ATTR_HTML: :class build | ||||
|   - =TAB= | ||||
|     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>= | ||||
| 
 | ||||
| * Makroer | ||||
| 
 | ||||
|   #+ATTR_REVEAL: :frag roll-in | ||||
|   #+ATTR_HTML: :class build | ||||
|   - Makroer er en måte å "ta opp" en rekke kommandoer på | ||||
| 
 | ||||
|   - =C-x (= | ||||
| @ -317,8 +320,8 @@ | ||||
|     gjenta makroen | ||||
| 
 | ||||
| * Pakker | ||||
| 
 | ||||
|   #+ATTR_REVEAL: :frag roll-in | ||||
|   #+ATTR_HTML: :class build | ||||
|   - Emacs 24 kommer med innebygd pakkebehandler | ||||
| 
 | ||||
|   - det finnes tusenvis av pakker | ||||
| @ -334,35 +337,34 @@ | ||||
|        | ||||
|     - =x= utfør installering/oppgradering/sletting | ||||
| 
 | ||||
| ** Anbefalinger | ||||
| 
 | ||||
| * Anbefalinger | ||||
|   #+ATTR_REVEAL: :frag roll-in | ||||
|   #+ATTR_HTML: :class build | ||||
| 
 | ||||
|    - [[https://github.com/auto-complete/auto-complete][Auto-Complete]] | ||||
|      viser mulige fullføringer | ||||
|   - [[https://github.com/auto-complete/auto-complete][Auto-Complete]] | ||||
|     viser mulige fullføringer | ||||
|      | ||||
|    - [[https://github.com/emacsmirror/undo-tree][Undo-Tree]] | ||||
|      et mer standard undo-system, med trestruktur | ||||
|   - [[https://github.com/emacsmirror/undo-tree][Undo-Tree]] | ||||
|     et mer standard undo-system, med trestruktur | ||||
|      | ||||
|    - [[https://github.com/magnars/multiple-cursors.el][Multiple cursors]] ([[http://emacsrocks.com/e13.html][demo]]) | ||||
|      lar deg kontrollere flere markører samtidig! | ||||
|   - [[https://github.com/magnars/multiple-cursors.el][Multiple cursors]] ([[http://emacsrocks.com/e13.html][demo]]) | ||||
|     lar deg kontrollere flere markører samtidig! | ||||
| 
 | ||||
|    - [[https://github.com/oneKelvinSmith/monokai-emacs][Monokai]] | ||||
|      et fargetema (hentet fra Sublime) | ||||
|   - [[https://github.com/oneKelvinSmith/monokai-emacs][Monokai]] | ||||
|     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 | ||||
|    #+ATTR_REVEAL: :frag roll-in | ||||
|    - [[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]] | ||||
| 
 | ||||
| ** 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]]! | ||||
| * Spørsmål? | ||||
|   #+ATTR_REVEAL: :frag roll-in | ||||
|   #+ATTR_HTML: :class build | ||||
|   - 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