Vim voor beginners

Wat je gaat creëren

Vim is een gratis en krachtige teksteditor die bij je Mac wordt geleverd. In deze zelfstudie laat ik de basisbeginselen van deze teksteditor zien.

Bestanden openen

U kunt bestanden openen in Vim zoals elke opdrachtregeleditor.

Vim in Terminal

Als het bestand dat u wilt bewerken is life.md, typ in Terminal venster:

vim life.md 

Vim opent in die terminal met dat bestand geladen. Vim is een terminalprogramma, geen grafisch systeemprogramma.

Basisprincipes van Vim-modi

Vim heeft vier modi: normaal, invoegen, zichtbaar, en Commando. Elke modus toont de naam links onderaan de statusbalk in het programma.

Wanneer je begint Vim, het is in normaal modus. U kunt alle opdrachttoetsen gebruiken om door het bestand te navigeren en te beginnen met bewerken. Wanneer u een van de andere modi afsluit, Vim gaat terug naar de normaal mode.

Vim is in invoegen modus met het gebruik van de een, EEN, ik, ik, O, en O commando's. Eens in invoegen modus, blijft de editor in die modus totdat u op een drukt Esc sleutel. Elke andere ingedrukte toets wordt direct in het bestand ingevoegd op de huidige cursorlocatie.

zichtbaar modus gebeurt wanneer u een gebruikt v, V, en Ctrl-v opdrachten van normaal modus. In zichtbaar modus, kunt u tekst selecteren. Terwijl u een navigatieopdracht gebruikt, is het gebied vanaf het begin van zichtbaar modus naar wanneer u afsluit zichtbaar modus is de geselecteerde tekst.

Telkens wanneer u de : commando binnen normaal modus, zul je binnengaan Commando modus. In Commando modus, kunt u complexe bewerkingsfuncties, bestandsacties of shell-acties uitvoeren. Commando modus is de enige modus die niets op de statusregel weergeeft, maar de ingevoerde opdracht wordt onder de statusregel geplaatst met iets anders dat is getypt en de cursor.

Bestanden opslaan en Vim sluiten

In normaal modus, kunt u typen ZZ om alles te bewaren en af ​​te sluiten. U kunt het bestand ook opslaan met : w!. De : zal je erin stoppen Opdrachtmodus, de w zal het bestand schrijven, en de ! dwingt de operatie om zonder vragen te schrijven. Of u kunt typen : wq of : wq!. De q verlaat de editor. Je kan ook gebruiken q! om te stoppen zonder op te slaan.

Basiscursorbewegingen

In normaal modus, verplaats je het bestand en voer je specifieke bewerkingen uit voor het bestand. De h toets verplaatst de cursor naar links. De l toets verplaatst de cursor naar rechts. De j toets verplaatst de cursor een regel omlaag, terwijl de k toets verplaatst de cursor een regel omhoog. Gebruik de .om naar het volgende woord te gaan w commando. Het vorige woordcommando is b.

Als u meer dan één spatie, woord of regel tegelijkertijd wilt verplaatsen, typt u eerst een cijfer en vervolgens de richtingstoets. De cursor zal dat aantal keer in die richting bewegen. Bijvoorbeeld, als u typt 10j, de cursor gaat 10 regels omlaag.

Door de Commando modus, kunt u de regelnummering omschakelen naar absoluut of familielid:

  • absoluut de nummeringsmodus is normaal: elke regel met een uniek nummer in de juiste volgorde. 
  • Familielid nummeringsmodus toont het aantal regels weg van de huidige bewerkingsregel.
Absolute getallen

Voor absolute regelnummering kunt u de : nummer instellen commando. Als u regelnummers niet wilt weergeven, gebruikt u de : stel het niet-nummer in commando.

Relatieve cijfers

In te stellen Familielid nummering, type : stel relativenumber in. Om het terug te plaatsen absoluut nummering, type : stel norelativenummer in.

Relatieve en absolute getallen

Door beide modi in te stellen met : nummer instellen en : stel relativenumber in, jouw Vim toont dan relatieve cijfers voor alle behalve de huidige regel. De huidige bewerkingsregel toont de absolute nummering.

Door het gebruiken van Familielid in de nummeringsmodus, kunt u snel het aantal te verplaatsen lijnen zien met de j of k commando's. Bijvoorbeeld om naar de regel te gaan met Lijst, je zou op drukken 2j.

Gebruik de om naar het begin van een regel te gaan 0 (dat is een nul) commando. Gebruik de knop om naar het einde van een regel te gaan $ commando. De gg commando verplaatst de cursor naar het begin van het bestand, terwijl de G commando zal naar het einde van het bestand gaan.

Het .vimrc-bestand

Misschien heeft u liever altijd de Familielid regelnummering, maar het is moeilijk om het altijd in te stellen bij het starten Vim. Dat is waar de Vim configuratiebestand is handig. Typ in de terminal in uw homedirectory

vim .vimrc 

De .vimrc bestand is Vim configuratiebestand. Elke opdracht die u in de opdrachtmodus typt, kan aan dit bestand worden toegevoegd. Het zal elke keer worden uitgevoerd Vim is begonnen. Gebruik in dat bestand de ik opdracht om te beginnen met het invoegen van tekst. Voeg nu deze regels toe en sla deze op:

set nummer set relativenumber set hlsearch 

Nu, elke keer dat u opent Vim het zal het gemengd hebben absoluut en Familielid regelnummeringsmodus ingesteld met alle zoekresultaten gemarkeerd. Gemarkeerde zoekopdracht is handig in de volgende sectie. Er is veel meer dat je kunt doen met de .vimrc bestand, maar dat zal moeten wachten op een andere zelfstudie.

Zoeken en vervangen

U kunt zoeken met behulp van de / commando binnen normaal modus. Door te typen /Deze, je zult het allemaal zien Deze woorden gemarkeerd zoals hieronder.

Zoeken

Door te typen n, uw cursor gaat naar het volgende exemplaar van het zoekpatroon. Door het gebruiken van N, je kunt teruggaan naar een vorige instantie. Het patroon gegeven na de / kan elke reguliere expressie zijn. Lees het artikel Geavanceerd zoeken en vervangen met RegEx om reguliere uitdrukkingen beter te begrijpen.

Zoeken en vervangen

Om tekst te vervangen, moet je gebruik maken van Commando modus. In Commando modus, de s opdracht is voor vervanging op de huidige regel, % s voor vervanging in het hele bestand, en ,s voor vervanging van regelnummer naar de regel nummer.

Het formaat is /// gi waar de en de zijn standaard reguliere expressies. In het bovenstaande voorbeeld vervang ik elk bestaan ​​van Deze met Dat. De ik na de g maakt de zoekfunctie ongevoelig. Een ik zou het zoekgeval gevoelig maken. De g maakt de vervanging globaal in de rij. Zonder de g, het voert de vervanging eenmaal per regel uit.

Opdrachten bewerken

Als u tekst links van de huidige cursorlocatie wilt invoegen, gebruikt u de ik commando. De een commando voegt rechts van de huidige cursorlocatie in. De ik commando's invoegen aan de voorkant van de regel, terwijl EEN voegt in op het einde van de regel.

De O commando voegt een hele nieuwe regel in na de regel waarop de cursor staat en zet de editor erin invoegen modus aan het begin van die regel. De O doet hetzelfde, maar voegt de regel toe boven de huidige cursorlocatie.

Als u tekens wilt verwijderen, gebruikt u de d opdracht en vervolgens een richting om het teken in die richting te verwijderen, of de spatiebalk om het teken onder de cursor te verwijderen. Als u voorvoegsel met een nummer, dan Vim zal dat aantal tekens in de aangegeven richting verwijderen. De dd commando verwijdert de huidige regel. De D commando verwijdert alles van de huidige cursorlocatie tot het einde van de regel.

De X commando zal het cursor karakter verwijderen. De X commando verwijdert voor de cursor. Beide X en X opdrachten hebben een voorvoegsel nodig om de actie dat aantal keer uit te voeren.

Kopiëren, knippen en plakken

Wanneer u op drukt v in normaal mode, zichtbaar modus begint. Alle cursorbewegingen veroorzaken een selectie vanaf het begin van zichtbaar modus. Wanneer u een selectie hebt, gebruikt u de Y commando yanks of kopieert de geselecteerde tekst. Ga naar een nieuwe locatie en gebruik de p commando om achter de cursor te plakken, terwijl de P voer pasta's in vóór de cursor.

Na het maken van een selectie, de X opdracht verwijdert de selectie. De ... gebruiken d commando zal de sectie knippen, zodat je kunt plakken met de p commando.

Selectie blokkeren

Om een ​​tekstblok te selecteren, begin je met het -v commando. De V commando start zichtbaar modus selecteren op regels en niet op tekens.

Oefening baart kunst

Nu dat u de basisopdrachten kent die in Vim, je moet oefenen. Vim Adventure is een geweldige manier om het te oefenen Vim commando's. Het is een adventure-game waarmee je de verschillende kunt oefenen Vim commando's om de avonturenwereld te verkennen.

Eenvoudige handleidingen Vim Reference is een spiekbriefje om u te helpen herinneren aan de meest gebruikte Vim commando's. Bovenal, blijf oefenen en je zult in staat zijn om deze eenvoudige, maar krachtige editor te beheersen.