Dit artikel maakt deel uit van de VIM User Guide-serie:

  • De beginnershandleiding om Vim te gebruiken
  • Vim Keyboard Shortcuts Cheatsheet
  • 5 Vim-tips en -trucs voor ervaren gebruikers
  • 3 Nuttige VIM Editor Tips en Trucs voor gevorderde gebruikers
  • Hoe Vim in een tekstverwerker te veranderen

De Vim-editor biedt zoveel functies dat het heel moeilijk is om ze allemaal te leren. Hoewel het steeds beter is om steeds meer tijd aan de opdrachtregeleditor te spenderen, is het niet te ontkennen dat je sneller nieuwe en productieve dingen leert terwijl je samenwerkt met andere Vim-gebruikers. Hier zijn enkele Vim-tips en -tricks voor jou.

Opmerking - Om de voorbeelden hier te maken, heb ik Vim-versie 7.4.52 gebruikt.

1. Werken met meerdere bestanden

Als u een softwareontwikkelaar bent of iemand die Vim als primaire editor gebruikt, is de kans groot dat u tegelijkertijd met meerdere bestanden moet werken. Hierna volgen enkele nuttige tips die u kunt gebruiken tijdens het werken met meerdere bestanden.

In plaats van verschillende bestanden in verschillende shell-tabbladen te openen, kunt u meerdere bestanden op één tabblad openen door hun bestandsnamen als argumenten door te geven aan de opdracht vim. Bijvoorbeeld:

 vim bestand1 bestand2 bestand3 

Het eerste bestand (bestand1 in het voorbeeld) is het huidige bestand en wordt in de buffer gelezen.

Eenmaal in de editor gebruikt u de opdracht :next of :n om naar het volgende bestand te gaan en de opdracht :prev of :N om naar het vorige terug te keren. Als u rechtstreeks naar het eerste of het laatste bestand wilt overschakelen, gebruikt u respectievelijk :bf en :bl opdrachten. Om een ​​ander bestand te openen en te bewerken, gebruikt u de opdracht :e met de bestandsnaam als argument (gebruik het volledige pad voor het geval het bestand niet aanwezig is in de huidige map).

Gebruik altijd de opdracht :ls u momenteel geopende bestanden wilt weergeven. Zie de screenshot hieronder.

Merk op dat "% a" staat voor het bestand in het actieve actieve venster, terwijl "#" staat voor het bestand in het vorige actieve venster.

2. Bespaar tijd met automatisch aanvullen

Wilt u tijd besparen en de nauwkeurigheid verbeteren? Gebruik afkortingen. Ze zijn handig tijdens het schrijven van lange, complexe woorden die regelmatig in het hele bestand voorkomen. Het Vim-commando voor afkortingen is ab . Bijvoorbeeld nadat u de opdracht hebt uitgevoerd

 : ab asap zo snel mogelijk 

elke keer dat het woord "asap" voorkomt, wordt automatisch vervangen door "zo snel mogelijk" terwijl u typt.

Op dezelfde manier kunt u ook afkortingen gebruiken om veelvoorkomende typefouten te corrigeren. Bijvoorbeeld het commando

 : ab ontvang ontvang 

corrigeert automatisch de spelfout terwijl u typt. Als u wilt voorkomen dat de uitbreiding / correctie plaatsvindt in een bepaald geval, typt u "Ctrl + V" achter het laatste teken van het woord en drukt u vervolgens op de spatiebalktoets.

Als u de afkorting die u hebt gemaakt wilt opslaan zodat deze de volgende keer dat u de Vim-editor gebruikt beschikbaar is, voegt u de volledige ab opdracht (zonder de eerste dubbele punt) toe aan het bestand "/ etc / vim / vimrc". Om een ​​bepaalde afkorting te verwijderen, kunt u de opdracht una gebruiken. Bijvoorbeeld :una asap .

3. Splitsen van vensters om eenvoudig te kopiëren en plakken

Er zijn tijden dat u een stuk code of een deel van de tekst van het ene naar het andere bestand wilt kopiëren. Hoewel het proces eenvoudig is tijdens het werken met GUI-editors, wordt het een beetje vervelend en tijdrovend tijdens het werken met een opdrachtregeleditor. Gelukkig biedt Vim een ​​manier om de tijd en moeite die nodig is om dit te doen te minimaliseren.

Open een van de twee bestanden en split het Vim-venster om het andere bestand te openen. Dit kan gedaan worden door de split opdracht met de bestandsnaam als argument te gebruiken. Bijvoorbeeld,

 : split test.c 

splitst het venster en opent "test.c".

Merk op dat de opdracht het Vim-venster horizontaal splitst. Als u het venster verticaal wilt splitsen, kunt u dit doen met de opdracht vsplit . Zodra beide bestanden zijn geopend, kopieer je de spullen uit het ene bestand, druk je op "Ctrl + w" om het besturingselement naar een ander bestand te schakelen en plak je het.

4. Sla een bestand op dat u hebt bewerkt zonder de vereiste rechten

Soms realiseert u zich dat een bestand alleen-lezen is nadat u er een aantal wijzigingen in hebt aangebracht.

Hoewel het sluiten van het bestand en het opnieuw openen van de bestanden met de vereiste machtigingen een uitweg is, is het een verspilling van tijd als u al veel wijzigingen hebt aangebracht, omdat ze allemaal verloren zullen gaan tijdens het proces. Vim biedt u een manier om met deze situatie om te gaan door u toe te staan ​​de bestandsrechten in de editor te wijzigen voordat u deze opslaat. Het commando hiervoor is:

 : w! sudo tee% 

De opdracht zal u om het wachtwoord vragen, net zoals sudo doet op de opdrachtregel, en zal dan de wijzigingen opslaan.

Een verwante tip : Om snel toegang te krijgen tot de opdrachtprompt tijdens het bewerken van een bestand in Vim, voert u de opdracht :sh uit vanuit de editor. Dit plaatst je in een interactieve shell. Als u klaar bent, voert u de opdracht exit uit om snel terug te keren naar uw Vim-sessie.

5. Bewaar inspringing tijdens kopiëren en plakken

De meeste ervaren programmeurs werken op Vim met auto-inspringen ingeschakeld. Hoewel het een tijdbesparende oefening is, creëert het een probleem bij het plakken van een reeds ingesprongen code. Dit gebeurde bijvoorbeeld toen ik een reeds ingesprongen code plakte in een bestand geopend in Vim-editor met automatisch inspringen.

De oplossing voor dit probleem is de optie pastetoggle . Voeg de regel toe

 stel pastetoggle = in 

naar uw vimrc-bestand en druk op F2 in invoegmodus vlak voordat de code wordt geplakt. Dit zou de oorspronkelijke inspringing moeten behouden. Merk op dat u F2 kunt vervangen door een andere sleutel als deze al is toegewezen aan een andere functionaliteit.

Conclusie

De enige manier waarop je je Vim-redactievaardigheden nog verder kunt verbeteren, is door de opdrachtregeleditor te gebruiken voor je dagelijkse werk. Noteer gewoon de acties die tijd vergen en probeer vervolgens uit te vinden of er een editoropdracht is die de acties sneller zal uitvoeren.