Bli en Vi-mästare genom att lära dessa 30 + nyckelbindningar
Vi är en kraftfull textredigerare som ingår i de flesta Linux-system. Många människor svär vid oss och hittar det snabbare än någon annan redaktör när de har lärt sig sina nyckelbindningar. Du kan även använda vi-nyckelbindningar i Bash.
Vi har redan täckt igång med vi för nybörjare. Om du inte har använt vi ett tag, kanske du vill ge det här inlägget för att få en uppdatering på grunderna.
Läge Växling
Som ett kort sammanhang är vi en modalredaktör - det finns ett insert-läge och ett standardkommandotillstånd. I insert-läge fungerar vi som en vanlig textredigerare. I kommandotillstånd utnyttjar du dessa nyckelbindningar.
- jag - Ange inmatningsläge.
- Fly - Lämna inspelningsläge. Om du redan befinner dig i kommandoläge gör Escape inte någonting, så du kan trycka på Escape så att du är i kommandoläge.
Flytta markören
Vi använder hjkl tangenterna för att flytta markören i kommandoläge. Tidiga datorsystem hade inte alltid piltangenter, så dessa nycklar användes istället. En fördel med dessa kortkommandon är att du inte behöver flytta fingrarna från hemraden för att använda dem.
- h - Flytta markören till vänster.
- j - Flytta markören neråt.
- k - Flytta markören uppåt.
- l - Flytta markören till höger.
Du kan också använda sökkommandon för att snabbt flytta markören.
- / - Skriv ett / följt av någon text du vill hitta och tryck på Enter för att snabbt flytta markören till platsen för texten i filen. Om du till exempel har ordet iguana i din fil, skriv / iguana och tryck på Enter för att snabbt flytta markören där.
- ? - Gilla /, men söker bakåt.
- f - Skriv ett f följt av vilket tecken som helst för att snabbt flytta markören till nästa händelse av tecknet på den aktuella raden. Om du till exempel har raden "Hej världen" på en rad och markören är i början av raden skriver du fo för att flytta till o i Hello. Skriv fo igen för att flytta till o i världen.
- F - Gilla f, men söker bakåt.
- % - Hoppa mellan de närmaste (), [] eller tecknen på linjen.
Använd dessa kommandon för att snabbt flytta till platser i filen:
- H - Flytta markören till högsta (översta) raden i filen.
- M - Flytta markören till mellanlinjen i filen.
- L - Flytta markören till lägsta (nedersta) raden i filen.
- #G - Skriv ett tal och skriv sedan G för att gå till den raden i filen. Skriv till exempel 4G och tryck på Enter för att flytta till den fjärde raden i filen.
Flytta mellan ord:
- w - Flytta fram ett ord.
- #W - Flytta fram ett antal ord framåt. Till exempel flyttar 2w fram två ord.
- b - Flytta tillbaka ett ord.
- #b - Flytta tillbaka ett antal ord. Till exempel flyttar 3b tillbaka tre ord.
- e - Flytta till slutet av det aktuella ordet.
Kopiering och klistring
Vi hänvisar till kopian som "yanking".
- v - Tryck på v och flytta markören för att välja en textdel.
- y - Kopiera (yank) den markerade texten.
- p - Klistra in på markören.
- x - Skär den markerade texten. Skär karaktären under markören om ingen text väljs
- r - Skriv r och skriv sedan ett annat tecken för att ersätta tecknet under markören.
Kombinera kommandon
Vissa kommandon - inklusive kommandona y och v ovan och kommandot d (delete) accepterar markörrörelsekommandon.
Till exempel när du trycker på d För att radera lite text kommer inget att hända tills du anger en kommandot för markörrörelse. Till exempel:
- dw - Tar bort nästa ord.
- db - Tar bort föregående ord
- de - Tar bort till slutet av det aktuella ordet.
- dL - Tar bort all text under markören i filen.
- d / unicorn - Efter att du tryckt på Enter raderas all text mellan markören och ordet "enhörning" i den aktuella filen.
- dd - Tar bort en hel rad.
Som du kan se är kombinationen av att kombinera ett kommando med ett markörskommando mycket kraftfullt.
Upprepa och ångra
Vi är upprepade kommandot är mycket kraftfullt, eftersom det kan repetera komplexa, kombinerade kommandon.
- u - Ångra.
- . - The. upprepar det sista fullständiga kommandot. Inkommandekommandot fungerar också som ett kommando här. Skriv till exempel ikon och tryck på Escape. Du kan då använda. nyckeln för att infoga ordet unicorn vid markören.
Bonus: Använda Vi Key Bindings i Bash
När du väl har behärskat vi-nyckelbindningarna kan du använda dem på annat håll på ditt system. Inget problem - du kan ställa in Bash-skalet för att använda vi-stil-tangentbindningar.
Prova detta i den aktuella sessionen genom att köra följande kommando i en Bash-terminal:
set -o vi
Bash startar i insert-läge - tryck på Escape för att komma in i kommandoläge och använd dessa nyckelbindningar.
Om du gillar det här kan du lägga till kommandot till din ~ / .bashrc-fil och det körs automatiskt varje gång du loggar in. Använd vi .bashrc Kommando att öppna och redigera filen i vi.
Detta är inte en komplett lista över nyckelbindningar för vi, men det borde hjälpa dig att böja dina vi-vingar och lära dig att flyga. Den här listan över nyckelbindningar på Harvards hemsida är mer komplett och har mer information, även om den är mindre organiserad och svårare att smälta på en gång.