Vi en expressies

vi subcommando’s en reguliere expressies

Werken met vi en bestanden
Naar commando mode [Esc]
Afsluiten :q
Afsluiten (ook als niet opgeslagen) :q!
Afsluiten (wijzigingen opslaan) 😡 , :wq
Nieuw bestand openen :e naam
Bestaand bestand openen 😮 naam
Bestand opslaan (originele naam) :w
Bestand opslaan (nieuwe naam) :w naam
Bestand opslaan (overschrijven) :w! naam
Bestand opslaan (toevoegen) :w >> naam
Bestand invoegen :r naam
Shell-commando uitvoeren :! cmd
Output shell-commando invoegen :r! cmd
Navigatie
Basisnavigatie (command mode) ← → ↓ ↑
Links / onder / boven / rechts h / j / k / l
Begin volgende / vorige regel [Enter] , + / –
Pagina terug / vooruit [Crtl] F / [Ctrl] B
Halve pagina terug / vooruit [Crtl] D / [Ctrl] U
Naar bovenkant / onderkant scherm H / L
Naar midden van scherm M
Volgend woord w
Volgend woord (omgeven door spaties) W
Begin / einde van woord b / e
Begin / einde van woord (omg. door spaties) B / E
Begin / einde van de regel 0 / $
Eerste niet-spatie van de regel ^
Begin / einde van bestand :0 , 1G / :$ , G
Regel terug / vooruit ( / )
Alinea terug / vooruit { / }
Direct naar regelnummer n nG , :n
Huidige regelnummer tonen :.=
Naar corresponderend haakje %
Tekst bewerken
Insert vóór cursor / vóór regel i / I
Toevoegen na cursor / na regel a / A
Open nieuwe regel voor / na cursor o / O
Vervang 1 / meerdere karakters r / R
Vervang tekst tot … (navigatie) c…
…1 kar. / 1 woord / hele regel cl / cw / cc
…tot einde regel c$ , C
Verwijder karakter op / vóór cursor x / X
Verwijder tot … (navigatie) d…
…1 kar. / 1 woord / hele reg. dl / dw / dd , :d
…tot einde regel d$ , D
Regels aan elkaar verbinden J
Wisselen hoofd / kleine letters ~
‘Knippen & plakken’
Plaats in buffer tot … (navigatie) y…
…1 kar. / 1 woord / hele reg. yl / yw / yy , :y
Voegt buffer toe vóór / na cursor P / p
Regel(s) verplaatsen achter regel n :mn
Regel(s) kopiëren achter regel n :tn
Herhalen & ongedaan maken
Laatste tekstcommando herhalen .
Commando n keer uitvoeren n…
Laatste wijziging ongedaan maken u
Wijzigingen huidige regel ongedaan maken U
Zoeken & vervangen
Karakter c zoeken / achteruit zoeken fc / Fc
Positie vóór c zoeken / achteruit zoeken tc / Tc
Vooruit tekst zoeken /tekst
Achteruit tekst zoeken ?tekst
Volgende / vorige zoekresultaat / , n / ? , N
Vervang (deze regel) str door str2 :s/str/str2
… alles op deze regel :s/str/str2/g
… vraag bevestiging :s/str/str2/gc
… hele bestand :%s/str/str2/g
Herhaal laatste :s commando &
Range
Regel n / n tot en met m :n / :n,m
Laatste regel :$
Huidige regel :.
Alle regels :%
Regels met tekst (reguliere expr.) :g/tekst/
Reguliere expressies (basic)
Willekeurig karakter .
Eén van de karakters uit een set [………]
Eén van de karakters … t/m … […-…]
Karakter dat niet in deze set zit [^………]
Voorgaande expressie nul of meer keer *
Begin van de regel ^
Einde van de regel $
Begin van woord \<
Einde van woord \>
Karakter c letterlijk nemen (escape) \c
Reguliere expressies (extended)
Voorgaande expressie 1 of meer keer +
Voorgaande expressie 0 of 1 keer ?
Voorgaande expressie n keer {n}
Voorgaande expressie n of meer keer {n,}
Minstens n, maar hoogstens m keer {n,m}
Eén van beide expressies expr1|expr2
Subexpressie (expr)
Inhoud ne subexpressie (back reference) \n
Reguliere expressies (classes)
Equivalente klasse [=…=]
Letter of cijfer [:alnum:]
Letter [:alpha:]
Cijfer [:digit:]
Hoofdletter [:upper:]
Kleine letter [:lower:]
Spatie (of tab of andere whitespace) [:space:]
Interpunctie [:punct:]