From 0223c1189edc3f41b32405cb3f47477604680ae5 Mon Sep 17 00:00:00 2001 From: larstvei Date: Thu, 12 Sep 2024 16:56:02 +0200 Subject: [PATCH] - blir + og sjekk diffen --- slides.org | 228 ++++++++++++++++++++++++++--------------------------- 1 file changed, 114 insertions(+), 114 deletions(-) diff --git a/slides.org b/slides.org index 7356e0c..d476622 100644 --- a/slides.org +++ b/slides.org @@ -3,320 +3,320 @@ * Plan for kurset -- Før pause: - - Liten demonstrasjon av hvordan man kommer igang med Emacs på Ifi's maskiner - - Snakk om hva Emacs er - - Gå raskt gjennom foilene og dekker «basics» -- Etter pause: - - Mer praktiske eksempler. - - Vise hvordan Org-mode fungerer, og hva det kan brukes til - - Tar imot alt av spørsmål fra salen! ++ Før pause: + + Liten demonstrasjon av hvordan man kommer igang med Emacs på Ifi's maskiner + + Snakk om hva Emacs er + + Gå raskt gjennom foilene og dekker «basics» ++ Etter pause: + + Mer praktiske eksempler. + + Vise hvordan Org-mode fungerer, og hva det kan brukes til + + Tar imot alt av spørsmål fra salen! * Hva er Emacs? -- Teksteditor -- Utvidbar (Emacs Lisp) -- Over 30 år gammel -- Over 2500 innebygde kommandoer -- Fri programvare ++ Teksteditor ++ Utvidbar (Emacs Lisp) ++ Over 30 år gammel ++ Over 2500 innebygde kommandoer ++ Fri programvare * Rammer, vinduer og buffere -- 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... ++ 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 -- Major modes - - hvert buffer har kun én aktiv major mode - - en major mode gir deg funksjonalitet for en bestemt type ++ 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 + + 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 ++ Minor modes + + du kan ha så mange aktive minor modes du ønsker + + en minor mode tilbyr tilleggsfunksjonalitet -- Modes tilføyer ofte egne tastekombinasjoner! ++ Modes tilføyer ofte egne tastekombinasjoner! * Tips -- Emacs er annerledes å bruke enn mange andre programmer, så det krever tilvenning. ++ Emacs er annerledes å bruke enn mange andre programmer, så det krever tilvenning. -- 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» ++ 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 ++ etter hvert (for spesielt interesserte): + + skriv din egen config-fil + + lær litt Emacs lisp, og skriv dine egne funksjoner -- gjør =CAPS-LOCK= om til en ekstra Control (=Ctrl=) ++ gjør =CAPS-LOCK= om til en ekstra Control (=Ctrl=) * Terminologi for taster -- =C-= ++ =C-= Control -- =M-= ++ =M-= Meta er =Alt= på de fleste maskiner (alternativt =ESC=) -- == betyr et vilkårlig tegn (eller tastekombinasjon) ++ == betyr et vilkårlig tegn (eller tastekombinasjon) * Prefikstaster -- =C-x = ++ =C-x = prefiks for globale kommandoer -- =C-c = ++ =C-c = prefiks for lokale kommandoer (har ikke alltid samme funksjon!) -- =C-h = ++ =C-h = prefiks for hjelp -- Alle tastekombinasjoner som ikke er en prefiks er enten bundet til en ++ Alle tastekombinasjoner som ikke er en prefiks er enten bundet til en kommando eller udefinert. * Komme seg ut -- =C-x C-c= ++ =C-x C-c= avslutt Emacs -- =C-g= ++ =C-g= avbryt (bruk hvis du ikke skjønner hva Emacs holder på med!) -- =ESC ESC ESC= ++ =ESC ESC ESC= (bruk hvis =C-g= ikke hjalp) -- = C-g= ++ = C-g= er udefinert (Dvs. =C-g= kan brukes til å avbryte prefiks) * Tekstredigering -- =C-f=, =C-b= ++ =C-f=, =C-b= flytt markøren ett tegn frem/tilbake -- =M-f=, =M-b= ++ =M-f=, =M-b= flytt markøren ett ord frem/tilbake -- =C-M-f=, =C-M-b= ++ =C-M-f=, =C-M-b= flytt markøren ett uttrykk frem/tilbake -- =C-a=, =C-e= ++ =C-a=, =C-e= flytt markøren til begynnelsen/slutten av linja -- =C-p=, =C-n= ++ =C-p=, =C-n= flytt markøren til forrige/neste linje * Bla rundt -- =C-v=, =M-v= ++ =C-v=, =M-v= scroll ned/opp en side -- =M-<=, =M->= ++ =M-<=, =M->= gå til begynnelsen/slutten av bufferet -- =C-l= ++ =C-l= vis slik at markøren er i senter/toppen/bunnen * Kill og yank -- =C-w= ++ =C-w= kill, tilsvarer cut -- =C-y= ++ =C-y= yank, tilsvarer paste -- =M-w= ++ =M-w= lagre til kill-ring, tilsvarer copy -- =C-k= ++ =C-k= kill, drepe resten av en linje -- =M-y=, må etterfølges av =C-y= ++ =M-y=, må etterfølges av =C-y= yank-pop, går lenger tilbake på kill-ring * Feiloppretting -- =C-d=, =M-d= ++ =C-d=, =M-d= fjern neste bokstav/ord -- =C-_=, =C-/=, =C-x u= ++ =C-_=, =C-/=, =C-x u= undo! -- =C-t=, =M-t= ++ =C-t=, =M-t= bytt om to bokstaver/ord -- =C-x C-t= ++ =C-x C-t= bytt om to linjer -- =M-q= ++ =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= ++ =M-u=, =M-l=, =M-c= gjør neste ord til UPPERCASE/lowercase/Capital-Case * Markering av tekst -- =C-SPC= ++ =C-SPC= markerer tekst -- =C-x h= ++ =C-x h= markerer all tekst -- =M-h= ++ =M-h= markerer en paragraf -- Bruk i kombinasjon med =M-w=, =C-w= og =TAB= ++ Bruk i kombinasjon med =M-w=, =C-w= og =TAB= * Filer -- =C-x C-f= ++ =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= ++ =C-x C-s= lagre buffer -- =C-x C-w= ++ =C-x C-w= skrive til fil (tilsvarende «lagre som...») * Vinduer -- =C-x 2=, =C-x 3= ++ =C-x 2=, =C-x 3= splitt et vindu horisontalt/vertikalt -- =C-x 1= ++ =C-x 1= gjør det aktive vinduet til det eneste vinduet -- =C-x 0= ++ =C-x 0= lukk det aktive vinduet -- =C-x o= ++ =C-x o= bytt fokus til et annet vindu * Buffere -- =C-x b RET= ++ =C-x b RET= bytt buffer (siste besøkte buffer er default) -- =C-x k RET= ++ =C-x k RET= drep (kill) buffer (det aktive bufferet er default) -- =C-x left=, =C-x right= ++ =C-x left=, =C-x right= en annen måte å bytter buffer på * Kommandoer -- =M-x RET= ++ =M-x RET= lar deg kalle en vilkårlig kommando med navn -- =M-x replace-string RET RET RET= ++ =M-x replace-string RET RET RET= tilsvarer «search and replace» -- =M-x query-replace RET RET RET= ... =y/n= ++ =M-x query-replace RET RET RET= ... =y/n= samme som =replace-string=, men du kan velge hva som skal erstattes (kan også kjøres med =M-%=!) * Søking -- =C-s= ++ =C-s= søk fremover i bufferet -- =C-r= ++ =C-r= søk bakover i bufferet -- 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 -- =C-h k= ++ =C-h k= bruk hvis du lurer på hva en tastekombinasjon gjør -- =C-h f= ++ =C-h f= bruk hvis du kjenner navnet på en funksjon, men ikke vet hva den gjør -- =C-h m= ++ =C-h m= gir deg informasjon om moden du er i (bl.a. tastekombinasjoner som er spesielle for moden) -- =C-h a= ++ =C-h a= apropos, lar deg søke i hjelpen -- =C-h C-h= (eller: =C-h ?=) ++ =C-h C-h= (eller: =C-h ?=) gir deg hjelp om hjelpen * Programmering -- =TAB= ++ =TAB= indenterer riktig -- =M-;= ++ =M-;= kommenterer ut et markert område -- =C-x C-;= ++ =C-x C-;= kommenterer ut linjen -- =M-x compile RET RET= ++ =M-x compile RET RET= lar deg kompilere i Emacs (gir trykkbare linker til der feil oppstod) -- =M-g M-g RET= ++ =M-g M-g RET= flytter markøren til linjenummer == * Makroer -- 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 (= definer en makro -- == ++ == definer en makro /eller/ sett inn løpenummer -- =C-x )=, == ++ =C-x )=, == ferdigstill makroen -- =C-x e=, == ++ =C-x e=, == utfør makroen - - =e= + + =e= gjenta makroen * Pakker -- Emacs 29 kommer med innebygd pakkebehandler ++ Emacs 29 kommer med innebygd pakkebehandler -- det finnes tusenvis av pakker ++ det finnes tusenvis av pakker -- =M-x list-packages= ++ =M-x list-packages= bla gjennom pakker - - =i= installere + + =i= installere - - =U= oppgrader alle + + =U= oppgrader alle - - =d= slett + + =d= slett - - =x= utfør installering/oppgradering/sletting + + =x= utfør installering/oppgradering/sletting -- Alt dette bør heller gjøres i konfigurasjonsfilen ++ Alt dette bør heller gjøres i konfigurasjonsfilen * Anbefalinger -- [[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! * Nyttige lenker -- [[http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html#Top][Emacs-manualen]] -- [[http://www.masteringemacs.org/reading-guide/][En flott blogg om Emacs]] -- [[https://github.com/larstvei/dot-emacs][Min konfigurasjonsfil]] ++ [[http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html#Top][Emacs-manualen]] ++ [[http://www.masteringemacs.org/reading-guide/][En flott blogg om Emacs]] ++ [[https://github.com/larstvei/dot-emacs][Min konfigurasjonsfil]]