- Dave McKay
@thegurkha
- 17 April 2019, 8:00am EDT
vi
– redigeraren är förvirrande om du inte är van vid den. Det tar ett hemligt handslag för att undkomma den här applikationen om du har snubblat in i den. Så här avslutar du vi eller vim på Linux, macOS eller något annat Unix-liknande system.
det snabba svaret
om du är ivi
ellervim
och behöver komma ut—med eller utan att spara dina ändringar—så här:
- Tryck först på Esc-tangenten några gånger., Detta säkerställer att
vi
inte är i Insert-läge och i Command-läge. - Andra, Skriv
:q!
och tryck på Enter. Detta talar om förvi
att avsluta utan att spara några ändringar. (Om du vill spara ändringarna skriver du:wq
istället.)
om du vill lära dig Linux-kommandoraden måste du veta mycket mer än så. Läs vidare och vi visar dig hurvi
fungerar och varför instruktionerna för att sluta är så ovanliga., vi
är ett viktigt, kraftfullt verktyg och inlärningskurvan är värt det.
vi, den allestädes närvarande redigeraren
eftersomvi
är överallt chansen är att du kommer att köra upp mot den. Du kan även hitta dig själv inuti vi
av misstag. Kanske ber någon dig att titta på sin Linux-dator för dem. Du utfärdar ett kommando somcrontab -e
ochvi
dyker upp. Överraskning, någon har konfigurerat standardredigeraren för crontab
att vara vi
.,
kanske administrerar du ett system därvi
är den enda redigeraren, eller den enda som kommer att fungera via en fjärr SSH-session, och du måste redigera en användares .bashrc fil.
kommandot för att startavi
och öppna en fil är rakt framåt. Skriv vi
, ett mellanslag och sedan filnamnet. Tryck På Enter. Programmet som startas kan vara vi
eller det kan vara vim
, en”förbättrad vi
’., Det beror på din Linux—distribution-till exempel använder Ubuntu vim
. Alla instruktioner i den här artikeln gäller lika för vim
.
vi .bashrc
den omedelbart märkbara skillnaden mellanvi
och andra redaktörer är att närvi
startar kan du inte bara börja skriva text. Det beror på attvi
är en modal editor. Redigering utförs i ett läge, Insatsläget och utfärdande kommandon utförs i kommandoläge., vi
startar i kommandoläge.
om du inte känner till begreppet Insert mode och Command mode kan det vara förvirrande. Många av de kommandon som du kan utfärda i kommandoläge påverkar filen du skriver. Om du är i kommandoläge men du försöker felaktigt skriva text i filen, kommer det inte att sluta bra. Några av de tangenttryckningar du utfärdar kommer att erkännas som kommandon. Dessa kommandon kan ta bort eller dela rader, flytta markören runt eller ta bort text.,
och oavsett vad du skriver kan du inte hitta ett sätt att avsluta eller avsluta från redigeraren. Under tiden blir din fil ganska mangled och de till synes slumpmässiga piparna gör dig galen.
Command Mode and Insert Mode
Du måste bytavi
till lämpligt läge för vad du försöker åstadkomma.
kommandoläge är standardläget närvi
startar. Om du inte vet bättre, börjar du försöka skriva., Om du råkar slå på ” i ” – tangenten eller någon av de andra 10 tangenterna som anropar Insert mode (a, a, c, c, i, O, O, R, S och S) ser du plötsligt vad du skriver. Du är nu i Insert-läge.
detta kan kännas som framsteg tills du träffar en av piltangenterna. Om du gör det visas A, B, C eller D som den enda bokstaven på en annars tom ny rad. Högst upp i filen.
det är OK, vi har din rygg. Detta är förvånansvärt lätt när du vet hur. Kom ihåg dessa två tangenttryckningar: Esc tar dig till kommandoläge och” i ” tar dig att Infoga läge.,
Du måste vara i kommandoläge och ange rätt kommando för att lämna redigeraren.
från kommandoläge till säkerhet
för att gå in i kommandoläge, tryck på Esc-tangenten. Inget synligt kommer att hända. Slå det några gånger till. Om du hör ett pip när du trycker på Escape-tangenten, är du i kommandoläge. Pipet säger dig ” sluta trycka på Esc, du är redan i kommandoläge.”Om du hör ett pip när du träffar Esc, är det bra.
Skriv ett kolon, bokstaven ”q” och ett utropstecken, utan några mellanslag., Dessa tre tecken ska visas längst till vänster om terminalens nedersta rad. Om de inte gör det, slå Esc tills du hör ett pip och försök igen. Tryck på Enter-tangenten när du kan se dem:
:q!
i det här kommandotq
är en förkortning förquit
. Utropstecken lägger tonvikten, så det är som om du skriker ” sluta!”till vi
. Det kan få dig att må lite bättre.,
utropstecknet instruerar ocksåvi
att inte spara några av de ändringar du kan ha gjort i filen. Om du har sprungit omkring i vi
och inte vet vad du gör Vill du förmodligen inte spara förödelsen du har orsakat.
När du är tillbaka på kommandoraden kanske du vill dubbelkolla för att se till att filen inte har ändrats., Du kan göra detta med följande kommando:
cat .bashrc | less
När du avslutar vi
, om du ser ett meddelande som säger” ingen skriv sedan senaste ändringen ” betyder det att du missade utropstecknet utanför kommandot. För att förhindra att du slutar och förlorar några ändringar som du kanske vill behålla ger vi
dig chansen att spara dem. Bara återutge kommandot:q!
med utropstecknet på plats för att lämnavi
och överge eventuella ändringar.,
om du är säker Kan du spara ändringarna
om du är nöjd med de ändringar du har gjort i filen kan du avsluta och spara ändringarna med kommandot:wq
(skriv och avsluta). Se till att du är helt nöjd med att du vill att dina skärmredigeringar skrivs till filen innan du fortsätter.
Skriv ett kolon, bokstaven w (skriv) och bokstaven q (avsluta). Tryck på Enter-tangenten när du kan se dem längst ner till vänster i terminalen:
:wq
inlärningskurvan är värt det
med vi
är lite som att använda ett piano., Du kan inte bara sitta ner och använda den; du måste sätta i vissa praktiken. Att sitta ner till det kallt och försöka lära sig i farten när trycket är på dig att få något redigerat är inte sättet att göra det. Det är lika meningsfullt som att sitta ner till ett piano för första gången precis som gardinen höjer för din inledande Konsert.
mycket av kraften ivi
kommer från dess många tangenttryckskombinationer som var och en utför en gemensam redigeringsuppgift., Det är bra, men du kan inte dra nytta av dem förrän du har memorerat dem, praktiserat dem, och de är en del av ditt muskelminne.
tills dess, om du befinner dig i vi
och tittar på en viktig fil, bara :q!
och avsluta graciöst. Din viktiga fil kommer att tacka dig.
Dave McKay använde först datorer när stansade papperstejp var på modet, och han har programmerat sedan dess. Efter över 30 år i IT-branschen är han nu en heltidsjournalist inom teknik., Under sin karriär har han arbetat som frilansprogrammerare, chef för ett internationellt mjukvaruutvecklingsteam, en IT-tjänst projektledare och senast som dataskyddsansvarig. Dave är en Linux evangelist och öppen källkod förespråkare.Läs hela Bio ”