Files
org-vim/runtime/tutor/tutor2.sv
Daniel Nylander a4ee225290 translation(sv): Add Swedish translation of tutor2
Translated by Daniel Nylander.

Covers:
- Text objects (iw, aw, i[, a[, etc.)
- Named registers (a-z)
- Expression register (=)
- Numbered registers (0-9)
- Special registers (+, *, _, -)
- Marks and mark motions

related: #19321

Signed-off-by: Daniel Nylander <po@danielnylander.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-03 14:41:08 +00:00

295 lines
11 KiB
Systemverilog

===============================================================================
= V ä l k o m m e n t i l l V I M - h a n d l e d n i n g e n =
= - Version 1.7 =
===============================================================================
= K A P I T E L T V Å =
===============================================================================
Hic Sunt Dracones: om detta är din första kontakt med Vim och du
avsåg att börja med introduktionskapitlet, skriv vänligen
:q!<ENTER> och kör vimtutor för kapitel 1 istället.
Den ungefärliga tiden för att slutföra detta kapitel är 8-10 minuter,
beroende hur mycket tid som läggs experimentering.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 2.1.1: BEMÄSTRA TEXTOBJEKT
** Arbeta logiska textblock med precision med hjälp av textobjekt **
1. Öva ordoperationer:
- Placera markören valfritt ord i raden nedan
- Skriv diw för att radera INRE ord (ord utan omgivande mellanslag)
- Skriv daw för att radera ETT ORD (inklusive efterföljande mellanslag)
- Prova med andra operatorer: ciw (ändra), yiw (kopiera), gqiw (formatera)
---> Öva på: "Vims", (text_objekt), och 'kraftfulla' ord här.
2. Arbeta med innehåll inom parenteser:
- Placera markören inuti något () {} [] <> par nedan
- Skriv di( eller dib (radera inuti parentes)
- Skriv da( eller dab (radera runt parenteser)
- Prova samma med i"/a" för citattecken, it/at för HTML/XML-taggar
---> Testfall: {klamrar}, [hakparenteser], <vinkelparenteser>, och "citerade" objekt.
3. Stycke- och meningsmanipulering:
- Använd dip för att radera inre stycke (markören var som helst i stycket)
- Använd vap för att visuellt markera hela stycket
- Prova das för att radera en mening (fungerar mellan .!? skiljetecken)
4. Avancerade kombinationer:
- ciwnew<ESC> - Ändra nuvarande ord till "new"
- ciw"<CTRL-R>-"<ESC> - Omslut nuvarande ord med citattecken
- gUit - Gör HTML-tagginnehåll till versaler
- va"p - Markera citerad text och klistra över den
---> Slutövning: (Ändra "denna" text) genom att [tillämpa {olika} operationer]<
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 2.1.2: NAMNGIVNA REGISTER
** Lagra två kopierade ord samtidigt och klistra sedan in dem **
1. Flytta markören till raden nedan markerad --->
2. Navigera till valfri punkt ordet 'Edward' och skriv "ayiw
MINNESREGEL: till register(") namngivet (a) (y)ank (kopiera) (i)nre (w)ord (ord)
3. Navigera framåt till ordet 'kaka' (fk eller 3fc eller $2b eller /ka<ENTER>)
och skriv "byiw
4. Navigera till valfri punkt ordet 'Vince' och skriv ciw<CTRL-R>a<ESC>
MINNESREGEL: (c)hange (ändra) (i)nre (w)ord (ord) med <innehåll från (r)egister> namngivet (a)
5. Navigera till valfri punkt ordet 'tårta' och skriv ciw<CTRL-R>b<ESC>
---> a) Edward kommer hädanefter att ansvara för kaka-ransonerna
b) I denna egenskap kommer Vince ha ensam tårta-beslutanderätt
OBS: Radering fungerar också till register, dvs. "sdiw raderar ordet under
markören till register s.
REFERENS: Register :h registers
Namngivna register :h quotea
Förflyttning :h motion.txt<ENTER> /inner<ENTER>
CTRL-R :h insert<ENTER> /CTRL-R<ENTER>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 2.1.3: UTTRYCKSREGISTRET
** Infoga resultat av beräkningar direkt **
1. Flytta markören till raden nedan markerad --->
2. Navigera till valfri punkt det angivna numret
3. Skriv ciw<CTRL-R> följt av =60*60*24<ENTER>
4. nästa rad, in i infogningsläge och lägg till dagens datum med
<CTRL-R> följt av =system('date')<ENTER>
OBS: Alla anrop till system är OS-beroende, t.ex. Windows använd
system('date /t') eller :r!date /t
---> Jag har glömt det exakta antalet sekunder en dag, är det 84600?
Dagens datum är:
OBS: samma sak kan uppnås med :pu=system('date')
eller, med färre tangenttryckningar :r!date
REFERENS: Uttrycksregister :h quote=
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 2.1.4: NUMRERADE REGISTER
** Tryck yy och dd för att se deras effekt registren **
1. Flytta markören till raden nedan markerad --->
2. Kopiera noll-raden, sedan inspektera register med :reg<ENTER>
3. Radera rad 0. med "cdd, sedan inspektera register
(Var förväntar du dig att rad 0 ska vara?)
4. Fortsätt radera varje efterföljande rad, inspektera :reg medan du gör det
OBS: Du bör märka att gamla helradsraderingar flyttas nedåt i listan
när nya helradsraderingar läggs till
5. Nu (p)asta följande register i ordning; c, 7, 4, 8, 2. dvs. "7p
---> 0. Detta
9. vinglar
8. hemliga
7. är
6.
5. axel
4. ett
3. krig
2. meddelande
1. hyllning
OBS: Helradsraderingar (dd) lever mycket längre i de numrerade registren
än helradskopieringar, eller raderingar med mindre förflyttningar
REFERENS: Numrerade register :h quote0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 2.1.5: SPECIALREGISTER
** Använd systemets urklipp och svarta hålet för avancerad redigering **
Obs: Urklippsanvändning kräver X11/Wayland-bibliotek Linux-system OCH
en Vim byggd med "+clipboard" (vanligtvis en Huge-byggning). Kontrollera med
":version" och ":echo has('clipboard_working')"
1. Urklippsregister + och * :
- "+y - Kopiera till systemets urklipp (t.ex. "+yy för nuvarande rad)
- "+p - Klistra in från systemets urklipp
- "* är primärmarkering på X11 (mittenklick), "+ är urklipp
---> Prova: "+yy sedan klistra in i ett annat program med Ctrl-V eller Cmd+V
2. Svarta hålet-register _ kastar text:
- "_daw - Radera ord utan att spara till något register
- Användbart när du inte vill skriva över ditt standard " register
- Observera att detta använder "ett Ord" textobjekt, introducerat i en
tidigare lektion
- "_dd - Radera rad utan att spara
- "_dap - Radera stycke utan att spara
- Kombinera med antal: 3"_dw
---> Öva: "_diw på valfritt ord för att radera det utan att påverka kopieringshistorik
3. Kombinera med visuella markeringar:
- Markera text med V sedan "+y
- För att klistra in från urklipp i infogningsläge: <CTRL-R>+
- Prova att öppna ett annat program och klistra in från urklipp
4. Kom ihåg:
- Urklippsregister fungerar mellan olika Vim-instanser
- Urklippsregister fungerar inte alltid
- Svarta hålet förhindrar oavsiktlig registerskrivning
- Standard " register är fortfarande tillgängligt för normal kopiering/inklistring
- Namngivna register (a-z) förblir privata för varje Vim-session
5. Urklippsfelsökning:
- Kontrollera stöd med :echo has('clipboard_working')
- 1 betyder tillgängligt, 0 betyder inte inkompilerat
- Linux kan vim-gtk eller vim-x11 paket behövas
(kontrollera :version utdata)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 2.1.6: SKÖNHETEN MED MARKERINGAR
** Kodapans aritmetik-undvikande **
OBS: ett vanligt problem vid kodning är att flytta runt stora kodblock.
Följande teknik hjälper till att undvika radnummerberäkningar associerade
med operationer som "a147d eller :945,1091d a eller ännu värre att använda
i<CTRL-R> följt av =1091-945<ENTER> först
1. Flytta markören till raden nedan markerad --->
2. till första raden av funktionen och markera den med ma
OBS: exakt position raden är INTE viktigt!
3. Navigera till slutet av raden och sedan slutet av kodblocket
med $%
4. Radera blocket till register a med "ad'a
MINNESREGEL: till register(") namngivet (a) lägg (d)eletionen (raderingen) från markören till
RADEN som innehåller markering(') (a)
5. Klistra in blocket mellan BBB och CCC "ap
OBS: öva denna operation flera gånger för att bli flytande ma$%"ad'a
---> AAA
function detBlevStortSnabbt() {
if ( nagotArSant ) {
gorDet()
}
// vår funktions taxonomi har ändrats och den
// är inte längre alfabetiskt logisk på sin nuvarande plats
// tänk dig hundratals rader kod
// naivt kunde du navigera till början och slutet och spela in eller
// komma ihåg varje radnummer
}
BBB
CCC
OBS: markeringar och register delar inte namnrymd, därför är register a
helt oberoende av markering a. Detta gäller inte register och
makron.
REFERENS: Markeringar :h marks
Markeringsförflyttningar :h mark-motions (skillnad mellan ' och `)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 2.1 SAMMANFATTNING
1. Textobjekt ger precisionsredigering:
- iw/aw - inre/runt ord
- i[/a[ - inre/runt hakparentes
- i"/a" - inre/runt citattecken
- it/at - inre/runt tagg
- ip/ap - inre/runt stycke
- is/as - inre/runt mening
2. För att lagra (kopiera, radera) text till, och hämta (klistra in) från, totalt
26 register (a-z)
3. Kopiera ett helt ord från var som helst inom ett ord: yiw
4. Ändra ett helt ord från var som helst inom ett ord: ciw
5. Infoga text direkt från register i infogningsläge: <CTRL-R>a
6. Infoga resultat av enkla aritmetiska operationer: <CTRL-R> följt av
=60*60<ENTER>
i infogningsläge
7. Infoga resultat av systemanrop: <CTRL-R> följt av
=system('ls -1')<ENTER>
i infogningsläge
8. Inspektera register med :reg
9. Lär dig slutdestinationen för helradsraderingar: dd i de numrerade
registren, dvs. fallande från register 1 - 9. Uppskatta att hel-
radsraderingar bevaras längre i de numrerade registren än någon
annan operation
10. Lär dig slutdestinationen för alla kopieringar i de numrerade registren och
hur flyktiga de är
11. Placera markeringar från kommandoläge m[a-zA-Z0-9]
12. Flytta radvis till en markering med '
13. Specialregister:
- "+/"* - Systemets urklipp (OS-beroende)
- "_ - Svarta hålet (kasta raderad/kopierad text)
- "= - Uttrycksregister
- "- - Register för små raderingar
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Detta avslutar kapitel två av Vim-handledningen. Det är ett pågående arbete.
Detta kapitel skrevs av Paul D. Parker och Christian Brabandt.
Svensk översättning av Daniel Nylander.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~