Jak wyjść z Vi?

81

Uruchomiłem Vi na moim komputerze Ubuntu. Jednak jestem nowy w Vi i teraz nie mogę zrezygnować. Widzę edytor i mogę pisać tekst, w dolnym wierszu znajduje się etykieta „nagranie”.

Jak wyjść z Vi?

Jonas
źródło
1
Nawiasem mówiąc, „nagrywanie” oznaczało, że rejestrujesz makro. To już nie ma znaczenia.
frabjous
4
To pytanie przywraca takie „zabawne” wspomnienia. Cieszę się jednak, że przeszedłem to uczucie.
frabjous
Jak możemy wrócić w trybie wstawiania z trybu tylko do odczytu w systemie Linux (zainstalowany Ubuntu w VMware) VI Editor?
2
Rezygnacja z Vima stała się teraz memem.
noɥʇʎԀʎzɐɹƆ
2
Dla tych, którzy jeszcze nie widzieli tego żartu: twitter.com/iamdevloper/statuses/435555976687923200
Federico Poloni

Odpowiedzi:

91

vim to edytor modalny . Naciśnij ESCklawisz, aby przejść do trybu normalnego (polecenia), a następnie wpisz :qi naciśnij Enter.

Aby wyjść bez zapisywania zmian, wpisz :q!i naciśnij Enter.

Zobacz także Wydostawanie się z dokumentacji Vima.

Sinan Ünür
źródło
9
Dzięki: Próbowałem tego polecenia, ale po ich prowadzenia byłem poproszony o: E37: No write since last change (add ! to override). Nie mam nic do zapisania.
Jonas,
12
Użyj, :wqjeśli chcesz zapisać to, co edytowałeś, a następnie wyjdź. :q!jeśli chcesz wyjść i zostawić swoje zmiany za sobą.
Steven D,
Lub jeśli napisałeś coś, co chcesz skopiować :w newFileName.txt, rozwiąż problem tylko do odczytu poza vi lub vim .
Kevin Cantu,
5
rzucić :q; zmusić do rezygnacji :q!; wyjdź i zapisz :wqlub:x
fromnaboo
2
@Jonas, następnym razem :qall!podejrzewam, że masz więcej plików w jednym buforze.
Alan Dong
11

Używam ctrl+ [do generowania escsekwencji, dzięki czemu nie muszę ruszać palcami z rzędu domowego (pamiętaj, że escklucz vizostał wynaleziony w innym miejscu, kiedy został wymyślony. :wqZapisze wszystkie pliki bez względu na konieczność. Sugeruję użycie ZZ(co jest shift+ zdwa razy ), który napisze tylko, jeśli w pliku dokonano zmiany. :xaJest to również to samo, ZZz wyjątkiem tego, że w instancji edytora otwartych jest więcej niż 1 plik (np. karty vim). Uwaga: Nie jestem pewien, czy to wszystko 100% kompatybilny ze wszystkimi klonami vi, ale wiem, że działa z vimem

ksenoterracid
źródło
1
Dzięki. ZZPolecenia wydaje się być przydatna. Rozumiem o co chodzi, Ctrl+[ale używam szwedzkiego układu klawiatury i muszę nacisnąć, AltGr+8aby uzyskać, [więc byłoby to Ctrl+AltGr+8dla mnie :(
Jonas
Uwaga ZQjest również w rzeczywistości taka sama jak :q!. Nie jest to jednak standard. ZZz drugiej strony jest określony w POSIX .
Wildcard,
4

Wyjście z vi to inny sposób Esc :x.

Opcja służy do jednoczesnego zapisywania i wychodzenia.

loganaayahee
źródło
2
Zauważ, że like ZZ, :xzapisze plik tylko, jeśli jego zawartość uległa zmianie, w przeciwieństwie do :wq.
jlliagre
2

Jak powiedział Sinan, vim jest edytorem modalnym. Jeśli chcesz wiedzieć, czy to działa, powinieneś zainwestować trochę czasu i uruchomić, vimtutorktóry jest interaktywnym sposobem nauki vima. (Obejmuje również sposób wyjścia, co oznaczają tryby i co można zrobić w każdym trybie).

tante
źródło
-2

Po modyfikacji naciśnij ESCi podane polecenie :wq!.

Spowoduje to wymuszenie zapisania nowej modyfikacji w pliku tylko do odczytu. Wcześniej nie działało, ponieważ plik jest tylko do odczytu.

Arif A.
źródło
1
Dlaczego odpowiadasz na pytanie sprzed 4 lat, w zasadzie powtarzając najlepszą odpowiedź? I tak jest źle: to nie wymusi zapisu pliku tylko do odczytu - spróbuje zapisać, może się nie powieść, a następnie wymusi zakończenie bez zapisywania.
Chris,
Próbowałem z poprzednimi komentarzami i to nie działało. Pomyślałem, że warto podzielić się tym, co zrobiłem. Nie ma znaczenia, kiedy pytanie zostało opublikowane, ale czy rozwiązania mają zastosowanie, czy nie.
Arif A.
-2

spróbuj połączyć controliZ

samsoty
źródło
2
To utrzyma vi w tle;
Archemar