Jak mogę wyjść z Vima, a nie :q
wrócić, aby kontynuować edycję?
302
Zakładając, że terminal Vim ma smak * nix:
Ctrl + Z
zawiesi proces i wróci do powłoki
fg
powróci (przynieść f ore g odwrotnie) swoim zawieszone vim.
Uruchom podpowłokę, używając:
:sh
(zgodnie z konfiguracją)
:set shell?
:!bash
śledzony przez:
Ctrl+ D(lub exit
, ale po co tyle pisać?)
zabić pocisk i wrócić do Vima.
ps
przeglądać procesy pierwszego planu unix.stackexchange.com/questions/6115/…nodemon app.js
(nodemon odświeża serwer w przypadku edycji pliku dla ciebie), a następnie chcę wrócić do mojej edycji vim. Czy mogę to zrobić bez dwóch osobnych okien terminala?jobs
odwiedzić procesy na pierwszym planie z (dla mnie) bardziej czytelnym tytułem. Następnie np.fg %2
Wybierz drugi.control-z
działa jak „cofnij”, sprawdź vimrc, aby sprawdzić, czybehave mswin
jest obecny. Jeśli zostanie usunięty icontrol-z
zadziałaexit
Możesz użyć,
:sh
aby wyjść do domyślnej powłoki, a następnie wpisanie$ exit
polecenia zachęty spowoduje powrót do Vima.źródło
$ ps
aby sprawdzić, czy znajdujemy się w podpowłoce vim przed wywołaniem,$ exit
aby uniknąć przypadkowego zamknięcia terminala. Znalazłem to tutaj (nie wypróbowałem wskaźnika podpowiedzi wymienionego na stronie).Możesz tymczasowo przełączyć na tryb powłoki przez:
Jak na przykład
źródło
Jeśli korzystasz z systemu uniksowego, Ctrl+ Zzawiesi Vima i da ci powłokę.
Wpisz,
fg
aby wrócić. Zauważ, że Vim tworzy plik wymiany podczas edycji, a zawieszenie Vima nie usunie tego pliku (mimo wszystko nie wychodzisz z Vima). Na głupich terminalach ta metoda była dość standardowa dla cykli edycji-kompilacji-edycji przy użyciu vi . Właśnie się dowiedziałem, że dla mnie gVim minimalizuje pisanie Z.źródło
Możesz to również zrobić,
:sus
wpadając w powłokę i cofając sięfg
.źródło
Istnieje kilka sposobów na wyjście z Vima i posiadanie tego samego po powrocie. W samym Vimie znajduje się bardzo dobra dokumentacja wyjaśniająca różne sposoby, w jakie można to zrobić. Aby uzyskać dostęp do odpowiedniej strony pomocy, możesz użyć następującego polecenia w vimie:
:help usr_21
Aby dać ci krótkie podsumowanie, oto różne metody wychodzenia i powrotu z nienaruszoną sesją:
Zawieś i wznów - W rzeczywistości nie rezygnujesz z Vima; po prostu ukrywasz sesję w tle, dopóki jej nie potrzebujesz. Jeśli zresetujesz komputer lub wydasz polecenie zabicia Vima, stracisz sesję. Jest to przydatne, gdy chcesz tymczasowo przełączyć się na inne zadanie, ale jeśli tak jest, możesz zamiast tego skorzystać z narzędzia GNU Screen .
Sesje - To jest prawdziwy sposób zapisywania sesji między instancjami Vima. Nawet jeśli naprawdę opuścisz Vima, twoja sesja będzie dla ciebie dostępna po powrocie. To jest prawdopodobnie to, czego szukasz.
źródło
Aby przedłużyć user Zen „s odpowiedź , można dodać następujący wiersz w
~/.vimrc
pliku, aby umożliwić szybkie przełączanie pomiędzy bash i Vima:źródło
Po prostu włóż
fg
i wróć do ostatnio zawieszonego programu.źródło
Jeśli używasz Neovim , możesz wykonać następujące czynności:
:terminal
polecenie, aby wyświetlić okno terminala.exit
aby zabić proces terminalowyźródło
Jeśli nie masz nic przeciwko użyciu myszy:
Spowoduje to utworzenie nowej karty w terminalu, na której można uruchomić Vima. Teraz użyj myszki, aby przejść do / z terminala. Wolę to zamiast zawsze pisać (
:shell
i wychodzić).źródło