Vim Mastery gaat verder: 8 krachtige tips voor Linux-beheerders (Deel 2)

In het vorige artikel van deze serie hebben we 7 tips en trucs bekeken om toe te voegen aan je vi/m-vaardigheden, naast de eerder gegeven redenen, het leren gebruiken van effectief een teksteditor in Linux is een essentiële vaardigheid voor een systeembeheerder of engineer en is een vereiste competentie om te slagen voor elk belangrijk Linux-certificeringsprogramma (zoals LFCS, LFCE, RHCSA en RHCE).

Dat gezegd hebbende, laten we beginnen.

8. Maak horizontale of verticale Vim-vensters

Deze tip werd gedeeld door Yoander, een van onze lezers, in Deel 1. Je kunt vi/m starten met meerdere horizontale of verticale delen om afzonderlijke bestanden te bewerken binnen hetzelfde hoofdvenster:Start vi/m met twee horizontale vensters, met test1 bovenaan en test2 onderaan

Start vi/m met twee horizontale vensters, met test1 bovenin en test2 onderin

vim -o test1 test2 
Launch Vim Editor in Horizontal Windows

Start vi/m met twee verticale vensters, met test3 links en test4 rechts:

vim -O test3 test4 
Launch Vim Editor in Vertical Windows

Je kunt het cursor van het ene venster naar het andere verplaatsen met de gebruikelijke vi/m bewegingsroutine (h: rechts, l: links, j: onder, k: boven):

  • Ctrl+w k – boven
  • Ctrl+w j – onder
  • Ctrl+w l – links
  • Ctrl+w h – rechts

9. Verander UPPERCASE of lowercase in Vim

Let op dat deze tip alleen werkt in vim. In de volgende voorbeelden is X een geheel getal.

  • Om een reeks letters naar UPPERCASE te veranderen, plaats de cursor op de eerste letter, typ dan gUX in ex modus en druk tenslotte op de pijl-rechts toets op het toetsenbord.
  • Om X aantal woorden te veranderen, plaats de cursor aan het begin van het woord en typ gUXw in ex modus.
  • Om een volledige regel naar UPPERCASE te veranderen, plaats de cursor overal op de regel en typ gUU in ex modus.

Bijvoorbeeld, om een volledige lowercase regel te converteren naar uppercase, plaats je de cursor overal op de regel en typ gUU:

Change String to Uppercase in Vim Editor

Bijvoorbeeld, om 2 woorden in hoofdletters om te zetten in kleine letters, plaats je de cursor aan het begin van het eerste woord en typ je gu2w:

Convert String to Lowercase in Vim Editor

10. Tekst verwijderen in Vim Insert Mode

Hoewel je karakters of meerdere woorden tegelijk in ex modus kan verwijderen (bijv. dw om een woord te verwijderen), kan je dit ook doen in Insert modus als volgt:

  • Ctrl + h: verwijder het vorige karakter naar de plaats waar de cursor zich momenteel bevindt.
  • Ctrl + w: verwijder het vorige woord naar de plaats waar de cursor zich momenteel bevindt. Om dit correct te laten werken, moet de cursor in een lege ruimte na het woord worden geplaatst dat je wilt verwijderen.
  • Ctrl + u: verwijder de huidige regel die begint bij het karakter direct links van de plaats waar de cursor is.

11. Bewegen of kopiëren van bestaande regels binnen Vim

Hoewel het waar is dat je de bekende dd, yy en p commando’s in ex modus kunt gebruiken om regels te verwijderen, te kopiëren (yanken) en in te voegen, kan dit alleen als de cursor wordt geplaatst waar je deze operaties wilt uitvoeren.

Het goede nieuws is dat met de kopieer en verplaats commando’s, je dit kan doen ongeacht waar de cursor zich momenteel bevindt.

Voor het volgende voorbeeld gebruiken we een kort gedicht getiteld “Forever” door Terri Nicole Tharrington. Om te beginnen laten we Vim de regelnummers weergeven (:set nu in Command mode – beschouw dit als een extra tip). We gebruiken :3copy5 (ook in Command mode) om regel 3 onder regel 5 te kopiëren:

Move Copy Existing Lines in Vim

Nu, ongedaan maken van de laatste wijziging (Esc + u – nog een bonus tip!) en typ :1move7 om regel 7 te vervangen door regel 1. Let op hoe regels 2 tot en met 7 worden opgetild en hoe de voormalige regel 1 nu regel 7 inneemt:

Move Lines in Vim Editor

12. Navigeren en tellen van patroonmatches in Vim

Deze tip is gebaseerd op de vervangingsopdracht (tip #7 in Part 1 van deze serie), met uitzondering dat er niets wordt verwijderd omdat het vervangingsgedrag wordt genegeerd door de n optie, wat resulteert in het aantal voorkomens van het opgegeven patroon:

Zorg ervoor dat je geen enkele schuine streep verlaat!

:%s/pattern//gn 

Bijvoorbeeld,

:%s/libero//gn
Count Matches by Search Pattern in Vim

Om van het ene voorkomen van het patroon naar het volgende te gaan in ex mode, druk op n (kleine letter N). Om naar het voorgaande exemplaar te gaan, druk op N.

13. Open een bestand in Vim op een opgegeven regel

Standaard wordt, wanneer u vi/m start, het cursor in de laatste regel geplaatst die werd bewerkt. Als u het programma wilt openen en de cursor direct op een opgegeven regel wilt plaatsen, kunt u de volgende truc gebruiken:

# vim filename +line_number

Bijvoorbeeld, open forever.txt en plaats de cursor in regel 6:

# vim forever.txt +6

Laten we dit voorbeeld een beetje aanpassen. Stel dat we het bestand willen openen op de regel waar het 3e voorkomen van het patroon verschijnt:

# vim filename +$(grep -in pattern filename | sed -n 3p | cut -d: -f1)

Laten we eens nader bekijken wat de bovenstaande opdracht doet:

  • grep -in pattern filename – toont alle regels uit het bestand waar het patroon voorkomt, met het regelnummer aan het begin van elke uitvoerregel.
  • sed -n 3p – toont de 3e regel uit het voorgaande pijplijnuitvoer.

Tot slot,

  • cut -d: -f1 retourneert het eerste veld van de vorige pijplijn waarbij de kolon (:) het veldscheidingsteken is.
grep -in forever forever.txt
grep -in forever forever.txt | sed -n 3p
grep -in forever forever.txt | sed -n 3p | cut -d: -f1
Open Vim Editor in Specified Line

Het resultaat van de vorige opdracht wordt vervolgens doorgegeven aan vi/m om het programma te openen op de opgegeven regel.

14. Aanpassen van de Vim-omgeving

Als je vi/m gebruikt om configuratiebestanden te bewerken of code te schrijven, wil je misschien de regel

  • Vim voor Linux-beheerders: 8 krachtige tips en trucs (Deel 2)

nummers weergeven wanneer je het programma voor het eerst opent en automatische inspringing instellen, zodat wanneer je op de Enter toets drukt, de cursor automatisch op de juiste positie wordt geplaatst. Bovendien wil je misschien de hoeveelheid witruimte aanpassen die een tabblad inneemt.

Hoewel je dat elke keer kunt doen wanneer je vi/m start, is het gemakkelijker om deze opties in ~/.vimrc in te stellen, zodat ze automatisch worden toegepast:

set number
set autoindent
set shiftwidth=4
set softtabstop=4
set expandtab

Voor verdere opties om uw vi/m-omgeving aan te passen, kunt u terecht bij de online vim documentatie.

15. Algemene Vim-hulp krijgen/met Vimtutor

Als u op een gegeven moment uw algemene vi/m-vaardigheden wilt bijwerken, kunt u vimtutor vanaf de command line starten, waarbij een volledige vi/m-hulp wordt weergegeven die u zo vaak kunt raadplegen als u wenst, zonder de noodzaak om een webbrowser te openen om te zoeken hoe een bepaalde taak in vi/m moet worden uitgevoerd.

vimtutor
Vim Editor Help and Options

Houd er rekening mee dat u de inhoud van Vimtutor kunt navigeren of doorzoeken alsof u bezig bent met het navigeren van een gewone bestand in vi/m.

Samenvatting

In deze 2-artikelreeks heb ik u verschillende vi/m-tips en -trucs gedeeld die u moeten helpen om effectiever te zijn bij het bewerken van tekst met behulp van command line-gereedschappen.

I’m sure you must have other ones – so feel free to share them with the rest of the community in the comment form below. As always, questions and comments are also welcome.

Source:
https://www.tecmint.com/how-to-use-vi-and-vim-editor-in-linux/