Vim is de krachtigste en meest veelzijdige code-editor die beschikbaar is voor Unix-achtige systemen. Het is een uitbreiding van de Vi-editor ontwikkeld door Bill Joy. Vim is standaard beschikbaar op de meeste Linux- en BSD-systemen.
U kunt dus dezelfde editor op al uw systemen en externe machines gebruiken. Vim's rigoureuze vocabulaire maakt het ook extreem efficiënt en expressief.
Hoe werkt Vim?
Vim is anders dan traditionele Linux-teksteditors . Het handhaaft de Unix-filosofie om één ding te doen en het goed te doen. Het fundamentele idee is dat we als programmeurs het grootste deel van onze tijd besteden aan het bewerken van code, niet aan het schrijven ervan.
Vim biedt verschillende modi om dit aan te pakken. Elke modus doet iets anders en wordt bestuurd door middel van toetsaanslagen. De essentiële vim-modi zijn de normale modus, visuele modus, invoegmodus en opdrachtmodus.
We gebruiken de normale modus voor het bekijken van code en het uitvoeren van snelle bewerkingen. De visuele modus wordt gebruikt om tekstsecties te markeren en de invoegmodus is waar u teksten toevoegt. U gebruikt de opdrachtmodus om verschillende vim-opdrachten in te voeren.
Hoe Vim te gebruiken in de invoegmodus
Wanneer je vim opent, start het in de normale modus. U kunt overschakelen naar de invoegmodus door de i- toets in te voeren. Dit roept de invoegmodus op de cursorpositie op. U zou een indicatie in de linkerbenedenhoek moeten zien.
Nu kun je elke tekst typen en vim kopieert die naar de buffer. Om de voortgang op te slaan, schakelt u terug naar de normale modus door op de escape-toets te drukken. Typ nu het volgende vim-commando.
:w
Er zijn andere manieren om naar de invoegmodus te gaan. U kunt bijvoorbeeld tekst direct onder de huidige regel invoegen door in de normale modus op o te drukken. Gebruik O om tekst boven de huidige regel in te voegen.
Gebruik I voor het invoegen van tekst aan het begin van de huidige regel. U kunt de a- toets gebruiken om tekst direct na de cursor toe te voegen. Gebruik A voor het toevoegen van tekst aan het einde van de regel.
Om het huidige bestand op te slaan en af te sluiten, schakelt u over naar de opdrachtmodus en typt u het volgende.
:wq
Hoe Vim te gebruiken in de normale modus
Vim-gebruikers brengen het grootste deel van hun tijd door in de normale modus. Hier kunt u door teksten navigeren en snelle bewerkingen uitvoeren. Als u vanuit een willekeurige modus op de escape-toets drukt, gaat u naar de normale modus.
In plaats van de standaardpijltjestoetsen gebruikt vim hjkl ( h voor links, j voor omlaag, k voor omhoog en l voor rechts) voor navigatie. Het lijkt in eerste instantie misschien contraproductief. Maar vim doet dit om de tijd te besparen die gebruikers nodig hebben om de pijltoetsen op hun toetsenbord te bereiken.
Net als veel andere op consoles gebaseerde editors, moedigt vim gebruikers aan om weg te blijven van de muis. Je kunt vim echter configureren om muisondersteuning in te schakelen.
U kunt de tekst ook woord voor woord verplaatsen. Als u bijvoorbeeld in de normale modus op w drukt , wordt de cursor naar het begin van het volgende woord verplaatst. U kunt naar het begin van het huidige woord gaan met b en eindigen met e .
Gebruik 0 om naar het begin van een regel te navigeren en $ om naar het einde te gaan. Als u op H drukt, gaat de cursor naar de bovenkant van het scherm, M naar het midden en L naar de onderkant. U kunt omhoog en omlaag scrollen met Ctrl+u en Ctrl+d . Als je in de normale modus op gg drukt , zal vim de cursor naar boven verplaatsen. Voer G in om naar het einde te gaan.
Je kunt vim-bewerkingsopdrachten leren als je eenmaal vertrouwd bent met bewegen in de normale modus. Gebruik x om een teken te verwijderen, s om te vervangen. U verwijdert teksten met de d- operator. Het neemt een motie als argument. De syntaxis hiervoor wordt hieronder weergegeven.
d{motion}
Een motie kan van alles zijn. Als u bijvoorbeeld in de normale modus op dw drukt, wordt het huidige woord verwijderd. Als u d$ typt , verwijdert vim alles tot aan het einde van de regel. Op dezelfde manier wordt het typen van d0 verwijderd naar het begin van de regel. Gebruik dd om de hele regel te verwijderen.
U hoeft echter niet iets te verwijderen en naar de vervangmodus te gaan om wijzigingen aan te brengen. Met de c- operator kunnen we rechtstreeks vanuit de normale modus wijzigingen aanbrengen in een vim-beweging.
c{motion}
Dus als je op cw drukt , verwijdert vim het huidige woord en zet je je in de invoegmodus. Je cursor moet aan het begin van het woord staan, omdat vim van de huidige positie wordt verwijderd. Gebruik ciw om dit te omzeilen. Hiermee worden wijzigingen aangebracht in het huidige woord. Gebruik cc om de hele regel te wijzigen.
Gebruik y om bewegingen te kopiëren en p om ze te plakken. Dus yw kopieert het huidige woord en yy kopieert de hele regel. U kunt de vorige opdracht herhalen met de punt . operator, maakt u wijzigingen ongedaan met u , en voert u ze opnieuw uit met Ctrl+r .
Als je iets in je code wilt vinden, gebruik dan de volgende vim-opdracht in Linux.
/{regex}
Hier is regex een reguliere expressie. Druk op n om naar de volgende wedstrijd te gaan en op N om naar de vorige wedstrijd te gaan.
Hoe Vim te gebruiken in de visuele modus
Door vim in de visuele modus te gebruiken, kunnen we tekstblokken selecteren met behulp van bewegingstoetsen. Dit is hoe power users codeblokken in vim verplaatsen. Voer v in de normale modus in om over te schakelen naar de visuele modus.
U kunt nu delen van tekst of code markeren met de navigatietoetsen hjkl . Gebruik Ctrl+v om over te schakelen naar de visuele blokmodus. Hier kunt u tekstblokken selecteren. U kunt lijnen markeren door naar de visuele lijnmodus te gaan. Gebruik V om de visuele lijnmodus te selecteren.
Dit stelt ons in staat om in één keer een tekstblok te bewerken. U kunt bijvoorbeeld een tekstblok selecteren en op y drukken om de tekst naar de vim-buffer te kopiëren.
Hoe de Vim-opdrachtmodus te gebruiken
We hebben toegang tot de opdrachtmodus door : in de normale modus te typen . Het brengt de cursor naar de onderkant van het scherm, gevolgd door een dubbele punt. Hieronder staan enkele van de meest bruikbare vim-opdrachten in Linux.
- :w wijzigingen opslaan in bestand
- :wq opslaan en afsluiten
- :saveas FILE sla het huidige bestand op als FILE
- :q stop met vim
- :Q! stoppen en wijzigingen negeren
- :e BESTAND open BESTAND om te bewerken
- :help help openen
Maak een bladwijzer van deze vim-spiekbrief voor snelle toegang tot handige vim-opdrachten.
De basis van Vim onder de knie krijgen
Vim is een robuuste editor die de kloof tussen denken en bewerken opheft. Het schrijven van code wordt veel spannender als je eenmaal bedreven bent in vim. Hoewel je jaren van oefening nodig hebt om het echt onder de knie te krijgen, zou het begrijpen van de basisprincipes van vim je op de goede weg moeten helpen.