Regelnummers bekijken in vi



Probeer Ons Instrument Voor Het Oplossen Van Problemen

Het vi vs vim-debat kan onder sommige mensen net zo verhit zijn als het vi vs emacs-debat, maar ongeacht waar je staat, zijn er een paar situaties waarin je misschien met vi te maken hebt en geen andere optie. Het is een standaardonderdeel van POSIX en daarom wordt het meegeleverd met vrijwel elke Unix- en Linux-implementatie die ooit in het moderne tijdperk is gemaakt. Als u ooit problemen met een ingebed systeem zoals een draadloze router of iets dergelijks oplost, moet u pure vi gebruiken.



Een pure, zij het uitgeklede vorm van vi is ook inbegrepen bij busybox, dus als je ooit werkt vanaf een beperkte herstelopdrachtprompt op een Linux-box, heb je dit misschien alleen als je editor. U hoeft zich geen zorgen te maken als u zich in een van de voorgaande gevallen bevindt, omdat u nog steeds regelnummers in vi kunt bekijken en enkele van de andere aardigheden kunt herstellen die u gewend bent als u een gewone vim-gebruiker bent.



Methode 1: Regelnummers controleren in vi

Als je ooit iemand hebt zien deelnemen aan het vi vs vim-debat, dan heb je waarschijnlijk gezien dat iemand het vim set ruler-commando als een enorm voordeel voor vim over de originele vi bracht. Gelukkig kun je regelnummers ook in pure vi bekijken. U krijgt waarschijnlijk een soort inlogprompt te zien als u op een embedded apparaat werkt. Als dit niet het geval is, kunt u op Ctrl + Alt + F1 of F2 drukken om naar de gewenste bestemming te gaan. Gebruikers van grafische versies van Linux willen misschien Ctrl + Alt + T of Super + T gebruiken om een ​​terminal te openen. Je kunt ook zoeken naar het woord terminal op de Ubuntu Unity Dash, maar houd er rekening mee dat als je gewoon vi typt op een volledig functionele versie van Linux, je in plaats daarvan heel goed vim kunt krijgen. U kunt de opdracht altijd uitvoeren busybox vi zoals veel Linux-goeroes al hebben opgemerkt.



U kunt over het algemeen typen vi bestandsnaam , waarbij bestandsnaam wordt vervangen door een daadwerkelijke bestandsnaam, om het tekstbestand te laden waarmee u wilt werken. Mogelijk ziet u onderaan niets, maar u zou niet meteen in de invoegmodus moeten zijn. In alles dat is gebaseerd op het originele vi, zoals dat wordt gebruikt op AIX-, HPUX-, Solaris- en sommige OpenIndiana-machines, kunt u op Ctrl + G drukken om een ​​balk te laten verschijnen die u precies vertelt waar u zich in het bestand bevindt.

Gebruik de vi-toetsbindingen of de cursortoetsen, indien beschikbaar, om naar een nieuwe positie te navigeren en druk nogmaals op Ctrl + G. Deze primitieve vorm van liniaal zal niet dynamisch worden bijgewerkt op dezelfde manier als die in vim, maar het zou moeten werken om je regelnummers als het ware redelijk goed te laten controleren in vi.



Als je Linux gebruikt in plaats van pure Unix en je hebt busybox vi gebruikt om het bestand te openen, dan heb je automatisch een zeer primitieve liniaal onderaan zonder dat je een toetscombinatie hoeft in te drukken. Dit vertelt je niet de kolompositie, maar het laat je weten waar je bent in het bestand en geeft je een percentage dat aangeeft hoeveel langer je nog moet gaan. Dit percentage zou ook beschikbaar moeten zijn op andere versies, en dit maakt het buitengewoon gemakkelijk om te zien hoeveel langer je nog moet gaan bij het lezen van documentatie. U kunt dit probleem af en toe tegenkomen als u iets op een router of een headless-server installeert en nog geen man-pagina's heeft om naar te verwijzen.

Methode 2: een regel verwijderen

Als je gewend bent om sleutelopdrachten in vim te gebruiken, dan ken je de meeste al die je nodig hebt voor reguliere orthodoxe vi. Druk op: d om een ​​huidige regel te verwijderen. Afhankelijk van je versie, kun je misschien ook gewoon dd typen en zie je de lijn plotseling voor je ogen verdwijnen.

Dat gezegd hebbende, je hebt ook toegang tot een weliswaar primitieve vorm van een klembord waar veel Unix-programmeurs veel gemakkelijker mee kunnen werken in vergelijking met de grafische klemborden die in veel andere soorten programma's voorkomen.

Als je een regel tekst wilt verwijderen en eruit wilt rukken, zodat je hem ergens anders kunt plaatsen, wat in feite betekent dat hij wordt geknipt, dan kun je: y of yy gebruiken, afhankelijk van je versie. Gebruikers die zich in de invoegmodus bevinden en merken dat deze letters het document binnenkomen, kunnen eenvoudig op Esc drukken om eerst terug te gaan naar de opdrachtmodus.

Zodra u de tekst eruit heeft gehaald, navigeert u naar de nieuwe positie waarop u de tekst wilt plaatsen. Zodra je er bent, typ je p om de tekst achter de huidige positie te plaatsen. Misschien wilt u een hoofdletter P gebruiken als u de tekst vóór de huidige plaats waar uw cursor zich bevindt, wilt plaatsen.

Houd er rekening mee dat als u gewend bent geraakt aan de sneltoetsen Ctrl + C, Ctrl + X en Ctrl + V die gebruikelijk zijn in de Windows- en Macintosh-omgevingen, u deze hier niet kunt gebruiken. De vi-editor is modaal, wat betekent dat er een aparte commando en invoegmodus is. Als u echter een beetje moeite heeft met navigeren, plaatst u uw vingers op de toetsen h, j, k en l.

Gebruik h als pijl naar rechts, l als pijl naar links, j om een ​​regel omlaag te gaan en k om omhoog te gaan als je een regel wilt selecteren om te verwijderen. Dit lijkt misschien een beetje contra-intuïtief, maar deze sneltoetsen zijn gemaakt in een tijd dat de cursortoetsen op het toetsenbord allesbehalve universeel waren. Een overweldigende meerderheid van vi-gebruikers geeft er de voorkeur aan, omdat u uw vingers niet van de startrij hoeft te halen.

Hoewel het op deze manier verwijderen en verplaatsen van tekst misschien niet zo geavanceerd is als in vim, zou je het met een beetje oefening heel goed kunnen gaan waarderen.

4 minuten gelezen