Leer nuttige ‘Vi/Vim’ tips en trucs voor beginners – Deel 1

De noodzaak om te leren hoe teksteditors in Linux te gebruiken is onbetwistbaar, aangezien elke systeembeheerder dagelijks te maken heeft met configuratie (platte tekst) bestanden, en dit meestal puur wordt gedaan met een of meer tools vanuit een opdrachtregelinterface (zoals nano, vim of emacs).

Hoewel nano misschien meer geschikt is voor nieuwe gebruikers, zijn vim of emacs de tool bij uitstek voor meer ervaren gebruikers vanwege hun geavanceerde mogelijkheden.

Maar er is nog een andere reden waarom het leren hoe je een van deze teksteditors moet gebruiken een topprioriteit voor je zou moeten zijn: je kunt ofwel een CLI-only server tegenkomen of een probleem tegenkomen met de desktopmanager in je op GUI gebaseerde Linux server of desktop en de enige bron om dit te onderzoeken en configuratiebestanden te bewerken is de opdrachtregel.

Tussen dit artikel en het volgende van deze serie van 2 artikelen, zullen we 15 tips en trucs bekijken om je vim-vaardigheden te verbeteren. Er wordt verondersteld dat je al bekend bent met deze teksteditor.

Als u nog niet bekend bent met vim, doe uzelf dan een plezier en leer vim kennen voordat u verder gaat: u kunt hoe vim teksteditor te gebruiken raadplegen voor een zeer gedetailleerde handleiding over het beginnen met vim.

1. Online Help in Vim openen

Nadat u vim hebt gestart, drukt u op F1 of gebruikt u :h in ex-modus om de online hulp in te voeren. U kunt naar een specifieke sectie of onderwerp springen door de cursor erop te plaatsen en vervolgens op Ctrl+] (Ctrl, dan de sluitende vierkante haak) te drukken.

Als u klaar bent, drukt u op Ctrl+t om terug te keren naar het vorige scherm. U kunt ook een specifiek onderwerp of commando opzoeken met :h <onderwerp of commando>.

Bijvoorbeeld,

:h x 

zal de hulp weergeven voor het x (verwijderen) commando:

Vi Editor Online Help

en

:h substitute

zal de hulp over het substituut commando weergeven (ons laatste tip in dit artikel).

2. Bladwijzers toevoegen in Vim-editor

Als u merkt dat u een bestand bewerkt dat groter is dan één scherm, zult u de functionaliteit waarderen die marks biedt. U kunt een markering in vim zien als een bladwijzer – zodra u deze ergens plaatst, kunt u er snel en gemakkelijk naar terugkeren.

Stel dat u een 300-woord configuratiebestand bewerkt en om de een of andere reden herhaaldelijk tussen regels 30 en 150 moet schakelen.

Ga eerst naar regel #30 door :30 in ex modus in te voeren, ga dan terug naar de commandomodus en druk op ma (m, dan a) om een markering genaamd “a” te maken op regel 30.

Ga dan naar regel 250 (met :250 in ex-modus) en druk op `a (backtick, dan a) om terug te keren naar markering a op regel 30.

Je kunt zowel kleine letters als hoofdletters gebruiken om markeringen in vim te identificeren (herhaal het proces nu om een markering genaamd A te maken op regel #250).

Je kunt je markeringen bekijken met

:marks aA
Marks Usage in Vim Editor

Zoals je kunt zien, wordt elke markering aangeduid met een specifieke regel-/kolompositie in het bestand, niet alleen met een regel.

3. Moeiteloze code-opruiming in Vim

Stel dat je een shell-script bewerkt en beseft dat de vorige ontwikkelaar nogal slordig was als het gaat om inspringing. Laten we eens kijken hoe je het kunt oplossen met een paar vim-commando’s.

Selecteer eerst een visueel blok door de cursor aan het begin van het blok te plaatsen en vervolgens op Ctrl+v te drukken (Ctrl, dan v).

  • Om naar links in te springen: druk op <j
  • Om naar rechts in te springen: druk op >j

Druk vervolgens op het . (punt) commando om de inspringing te herhalen. Het geselecteerde blok zal met slechts één toetsaanslag naar rechts of naar links verplaatsen.

Een ander klassiek voorbeeld van het gebruik van het punt commando is wanneer je een reeks woorden wilt verwijderen: plaats de cursor op het eerste woord dat je wilt verwijderen en druk vervolgens op dw.

Om door te gaan met het verwijderen van de volgende woorden, druk gewoon op . (korter en gemakkelijker dan herhaaldelijk dw te typen).

4. Unicode-teken invoegen in Vim

Als je toetsenbordindeling je niet toestaat om eenvoudig speciale Unicode-tekens in een bestand in te voegen, of als je jezelf voor een server bevindt met andere taalinstellingen dan die je gewend bent, komt deze truc goed van pas.

Om dit te doen, druk in de invoegmodus op Ctrl+v gevolgd door de letter u en de hexadecimale numerieke code voor het teken dat je wilt invoegen.

Je kunt de Unicode-tabellen controleren voor een lijst met speciale tekens en hun overeenkomstige numerieke codes.

Bijvoorbeeld,

Ctrl+v followed by returns
u0040 @
u00B5 μ
u20AC

5. Externe commando-uitvoer opnemen in Vim

Er zullen momenten zijn waarop je de uitvoer van externe commando’s rechtstreeks in een bestand dat wordt bewerkt met vim moet invoegen.

Bijvoorbeeld, ik maak vaak een variabele genaamd DIR aan in mijn scripts om het absolute pad naar de directory waar het script zich bevindt op te slaan om het later in het script te gebruiken.

Om dat te doen, gebruik ik:

:r! pwd 

in ex-modus. Zo wordt de huidige werkdirectory ingevoegd.

Een ander voorbeeld: als je ergens in een script het standaard gateway moet gebruiken, kun je het eenvoudig invoegen in het huidige bestand zonder vim te verlaten als volgt:

:!r ip route show | grep default | cut -f 3 -d " "

6. Externe bestandsinhoud toevoegen in Vim

Als je de inhoud van een apart bestand wilt toevoegen aan het bestand dat je momenteel aan het bewerken bent, is de syntaxis vergelijkbaar met de vorige tip. Laat gewoon het uitroepteken weg en je bent klaar om te gaan.

Bijvoorbeeld, om de inhoud van /etc/passwd te kopiëren:

:r /etc/passwd

Je zult deze tip handig vinden wanneer je configuratiebestanden moet aanpassen, maar de originele wilt behouden om terug te kunnen rollen naar de “fabrieksinstellingen” zogezegd.

7. Zoeken en vervangen van een woord in Vim

Eens tijdens een examen moest ik een groot tekstbestand openen met willekeurige gegevens. De toegewezen taak bestond uit het vervangen van elke voorkomens van het woord Globe door Earth (ja, ik herinner me nog steeds de exacte woorden).

Voor degenen die bekend zijn met sed, zal dit bekend voorkomen – in ex-modus, typ:

:%s/old/new/g

waarbij oud het te zoeken patroon is en nieuw de te vervangen string is.

In het bovenstaande geval gebruikte ik:

:%s/Globe/Earth/g

om de klus te klaren.

Dus wat als je wilt dat er om bevestiging wordt gevraagd voordat er wijzigingen worden aangebracht? Makkelijk. Voeg gewoon een c toe aan het einde van de bovenstaande opdracht, als volgt:

:%s/old/new/gc

De voorkomens van het patroon worden gemarkeerd en je wordt gevraagd of je het wilt vervangen door de nieuwe string:

:%s/gacanepa/me/gc
Search and Replace String in Vim

waar

  • y: yes
  • n: no
  • a: substitute all
  • q: quit
  • l: substitute this occurrence and quit
  • ^E (Ctrl+E): Scroll omhoog één scherm
  • ^Y (Ctrl+Y): Scroll omlaag één scherm
Samenvatting

In dit artikel zijn we begonnen met het bespreken van een aantal vim-tips en -trucs om toe te voegen aan je tekstbewerkingvaardigheden. Je zult waarschijnlijk aan verschillende anderen denken, dus deel ze alsjeblieft in het opmerkingenveld hieronder en ik zal overwegen ze te behandelen in het volgende en laatste artikel van deze vim-serie.

Source:
https://www.tecmint.com/learn-vi-and-vim-editor-tips-and-tricks-in-linux/