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