Takk til kollega Mads som lærte meg opp i VI i løpet av én time
Grunnleggende | |
i | gå over i insert-modus |
esc | tilbake til operasjonsmodus |
: | angi kommando |
Redigering | |
dd | slette en linje |
o | start ny linje (under) og gå i insert-modus |
O | start ny linje (over) og gå i insert-modus |
yy | står for yank, betyr å kopiere stående linje |
y$ | kopiere fra markøren til slutten av en linje |
p | står for put, betyr å lime inn utklippet linje |
10p | foreta put ti ganger |
13p | foreta put tretten ganger |
5dd | slett fem linjer |
15i tegn ESC | Sett inn 15 forekomster av "tegn". Kan også skrive en sekvens av repeterende tegn. |
u | undo, angre siste kommando. Bruker egentlig vim, VI improved, derfor føres historikk over aksjoner. |
J | flytt neste linje opp til den som markøren viser (på slutten). |
a | append etter markøren |
A | append på slutten av linjen |
x | slett tegnet som markøren markerer, smart fordi man slipper å gå i insertmodus |
D | slett resten av en linje" |
Navigasjon | |
0 | tilbake til starten av linjen |
$ | til slutten av linjen |
^ | markerer starten av linje |
$ | markerer slutten av linje |
w | bla til neste ord |
cw | change word (tar utgangpsunkt i det ordet som markøren står på) |
e | kom til slutten av det ordet jeg står inne i |
a | legg for eksempel til dette ordet |
n og N | bla fremover og bakover (egentlig neste kommando) |
8G | Gå til linje 8. |
G | Gå til siste linje |
Kommandoer | |
:w | lagre på den filen som VI ble startet med |
:w filnavn | lagre på annen fil |
:q | avslutte |
:q! | avslutte uten å lagre |
:x | write + quit samtidig |
ZZ | write + quit samtidig |
:r !kommando | kjør kommando og få output rett inn i VI. r står for read |
:% | velg alle linjer |
:% !kommando | kjør kommando og la output fra kommando erstatte innholdet i filen |
:% !sort | sorter alle linjene og skriv tilbake til VI. Betyr altså å sortere alt innholdet. |
:r !ls | limer inn alle filene i stående katalog der hvor :r kjøres |
Søke og erstatte tekst | |
/ | søk etter ord |
/hei | søk etter hei |
?hei | søk etter hei bakover |
r | Erstatt et tegn (replace character) |
:g/søkeord/s //erstatningsord | Erstatter første forekomst på hver linje |
:g/søkeord/s //erstatningsord/g | Erstatter alle forekomster på hver linje |
% | søk etter en parentes på linjen og matchende parentes |
d/søkeord | slett alt fra markør til søkeordet |
d} | slett hele paragrafen, dvs til neste blanke linje. Må være helt blank! |
Mer avansert | |
:map g kommandoer i sekvens | si hva tasten g skal gjøre. Enter og ESC fås ved å trykke CTRL+V og så Enter eller ESC |
ma | Sett et merke som heter a |
mb | Sett et merke som heter b |
'a | Går til linjen som merket står på |
:'a,'b w filnavn | Skriver alle linjer mellom de to merkene til en ny fil! |
:set number | Viser linjenumre |
:set nonumber | Slår av visning av linjenumre |
:set all | Vis alle 'variabler' i VI |
:set list | Viser spesialtegn i teksten, dvs. tab og linjeskift mm |
Du kan lære emacs på en halvtime ;-)
SvarSlettJeg ser at noen fra emacs-kirken har laget en liten tutorial for VI. Verdt å lese :-)
SvarSletthttp://www.dina.dk/~abraham/religion/vi-tutorial.html
nano ftw <3
SvarSlettkomodo edit for alt annet :-)