Jak wyjść z edytora Vi lub Vim

Edytor vi jest zagmatwany, jeśli nie jesteś do tego przyzwyczajony. Ucieczka z tej aplikacji wymaga potajemnego uścisku dłoni, jeśli się w nią natkniesz. Oto jak wyjść z vi lub vim w systemie Linux, macOS lub innym systemie podobnym do Uniksa.

Szybka odpowiedź

Jeśli jesteś w vi lub vim i chcesz wyjść – z zapisywaniem zmian lub bez – oto jak:

Najpierw naciśnij kilka razy klawisz Esc. Zapewni to, że vi wyjdzie z trybu wstawiania i będzie w trybie poleceń.
Po drugie, wpisz: q! i naciśnij Enter. To każe vi wyjść bez zapisywania zmian. (Jeśli chcesz zapisać zmiany, wpisz: wq.)

Jeśli chcesz nauczyć się wiersza poleceń Linuksa, musisz wiedzieć o wiele więcej. Czytaj dalej, a pokażemy Ci, jak działa vi i dlaczego instrukcje dotyczące rezygnacji są tak niezwykłe. vi to ważne, potężne narzędzie, a krzywa uczenia się jest tego warta.

vi, Wszechobecny redaktor

Ponieważ vi jest wszędzie, masz szansę się z nim spotkać. Możesz nawet przypadkowo znaleźć się wewnątrz vi. Być może ktoś poprosi Cię o obejrzenie ich komputera z systemem Linux. Wydajesz polecenie takie jak crontab -e i pojawia się vi. Niespodzianka, ktoś skonfigurował domyślny edytor crontab na vi.

Być może administrujesz systemem, w którym vi jest jedynym edytorem lub jedynym, który będzie działał przez zdalną sesję SSH i musisz edytować plik .bashrc użytkownika.

Polecenie uruchomienia vi i otwarcia pliku jest proste. Wpisz vi, spację, a następnie nazwę pliku. Naciśnij enter. Uruchomiony program może być vi lub vim, „ulepszonym vi”. To zależy od twojej dystrybucji Linuksa – na przykład Ubuntu używa vim. Wszystkie instrukcje w tym artykule odnoszą się w równym stopniu do vim.

 vi .bashrc

.bashrc w vi

Od razu zauważalną różnicą między vi a innymi edytorami jest to, że po uruchomieniu vi nie można po prostu zacząć wpisywać tekstu. To dlatego, że vi jest edytorem modalnym. Edycja odbywa się w jednym trybie, trybie Insert, a wydawanie poleceń w trybie Command. vi uruchamia się w trybie poleceń.

Jeśli nie jesteś zaznajomiony z koncepcją trybu wstawiania i trybu poleceń, może to być zaskakujące. Wiele poleceń, które można wydać w trybie poleceń, ma wpływ na wpisywany plik. Jeśli jesteś w trybie poleceń, ale przez pomyłkę próbujesz wpisać tekst do pliku, nie zakończy się to dobrze. Niektóre naciśnięcia klawiszy zostaną rozpoznane jako polecenia. Polecenia te mogą usuwać lub dzielić wiersze, przesuwać kursor lub usuwać tekst.

I bez względu na to, co wpiszesz, nie możesz znaleźć sposobu na wyjście z edytora lub wyjście z niego. W międzyczasie plik jest dość zniekształcony, a pozornie przypadkowe sygnały doprowadzają cię do szaleństwa.

Zła próba edycji w vi

Tryb poleceń i tryb wstawiania

Musisz przełączyć vi w odpowiedni tryb do tego, co próbujesz osiągnąć.

Tryb poleceń jest domyślnym trybem po uruchomieniu vi. Jeśli nie wiesz lepiej, zaczniesz pisać. Jeśli zdarzy ci się nacisnąć klawisz „i” lub którykolwiek z pozostałych 10 klawiszy, które wywołują tryb wstawiania (a, A, c, C, I, o, O, R, s i S), nagle zobaczysz, co piszesz. Jesteś teraz w trybie wstawiania.

To może wydawać się postępem, dopóki nie naciśniesz jednego z klawiszy strzałek. Jeśli to zrobisz, A, B, C lub D pojawią się jako jedyna litera w pustej nowej linii. U góry pliku.

W porządku, jesteśmy za twoimi plecami. Jest to zaskakująco łatwe, gdy wiesz, jak to zrobić. Zapamiętaj te dwa naciśnięcia klawiszy: Esc przenosi cię do trybu poleceń, a „i” przenosi do trybu wstawiania.

Aby wyjść z edytora, musisz być w trybie poleceń i wprowadzić poprawne polecenie.

Od trybu poleceń do bezpieczeństwa

Aby przejść do trybu poleceń, naciśnij klawisz Esc. Nic się nie stanie. Uderz go jeszcze kilka razy. Jeśli usłyszysz sygnał dźwiękowy po naciśnięciu klawisza Escape, oznacza to, że jesteś w trybie poleceń. Sygnał dźwiękowy mówi: „Przestań naciskać Esc, jesteś już w trybie poleceń”. Jeśli po naciśnięciu klawisza Esc usłyszysz sygnał dźwiękowy, wszystko w porządku.

Wpisz dwukropek, literę „q” i wykrzyknik, bez spacji. Te trzy znaki powinny pojawić się po lewej stronie dolnej linii terminala. Jeśli nie, naciśnij Esc, aż usłyszysz sygnał dźwiękowy, i spróbuj ponownie. Naciśnij klawisz Enter, kiedy możesz je zobaczyć:

:q!

: q!  polecenie w vi

W tym poleceniu q jest skrótem od quit. Wykrzyknik dodaje akcentu, więc to tak, jakbyś krzyczał „Przestań!” w vi. To może sprawić, że poczujesz się trochę lepiej.

Wykrzyknik instruuje również vi, aby nie zapisywać żadnych zmian, które mogłeś wprowadzić w pliku. Jeśli błądziłeś w vi i nie wiesz, co robisz, prawdopodobnie nie chcesz oszczędzać spustoszenia, które spowodowałeś.

Gdy wrócisz do wiersza poleceń, możesz chcieć dwukrotnie sprawdzić, czy plik nie został zmieniony. Możesz to zrobić za pomocą następującego polecenia:

cat .bashrc | less

.bashrc w mniej

Jeśli wychodząc z vi, zobaczysz komunikat „nie zapisuj od ostatniej zmiany”, oznacza to, że przegapiłeś wykrzyknik w poleceniu. Aby zapobiec opuszczeniu i utracie zmian, które chciałbyś zachować, vi daje ci szansę na ich zapisanie. Wystarczy ponownie wydać: q! polecenie z wykrzyknikiem w miejscu, aby wyjść z vi i porzucić wszelkie zmiany.

brak zapisu od ostatniej wiadomości o zmianie

Jeśli na pewno, zapisz zmiany

Jeśli jesteś zadowolony ze zmian, które wprowadziłeś w swoim pliku, możesz wyjść i zapisać zmiany za pomocą polecenia: wq (zapisz i zakończ). Przed kontynuowaniem upewnij się, że jesteś całkowicie zadowolony, że chcesz, aby zmiany wprowadzone na ekranie zostały zapisane w pliku.

Wpisz dwukropek, literę w (napisz) i literę q (zakończ). Naciśnij klawisz Enter, gdy zobaczysz je w lewym dolnym rogu terminala:

:wq

: wq polecenie w vi

Krzywa uczenia się jest tego warta

Używanie vi jest trochę jak używanie pianina. Nie możesz po prostu usiąść i go użyć; musisz poćwiczyć. Siadanie na tym zimno i próba uczenia się w locie, gdy presja jest na tobie, nie jest dobrym sposobem na zrobienie tego. To tak samo sensowne, jak zasiadanie do fortepianu po raz pierwszy, kiedy kurtyna unosi się przed koncertem inauguracyjnym.

Duża moc vi pochodzi z wielu kombinacji klawiszy, z których każda wykonuje wspólne zadanie edycji. To świetnie, ale nie możesz z nich skorzystać, dopóki ich nie zapamiętasz, nie przećwiczysz i nie staną się częścią Twojej pamięci mięśniowej.

Do tego czasu, jeśli znajdziesz się w vi i spojrzysz na ważny plik, po prostu: q! i wyjdź z wdziękiem. Twój ważny plik będzie Ci wdzięczny.