Antworten:
Angenommen, Terminal Vim hat einen Geschmack von * nix:
Ctrl + Z
wird den Prozess unterbrechen und zu Ihrer Shell zurückkehren
fg
wird fortgesetzt (bringen f Erz g Runde) Ihre suspendiert Vim.
Starten Sie eine Subshell mit:
:sh
(wie konfiguriert von)
:set shell?
:!bash
gefolgt von:
Ctrl+ D(oder exit
, aber warum so viel tippen?)
um die Granate zu töten und zu Vim zurückzukehren.
nodemon app.js
Nehmen wir zum Beispiel an, ich tue es (nodemon aktualisiert den Server bei Dateibearbeitungen für Sie) und möchte dann zu meiner vim-Bearbeitung zurückkehren. Kann ich das ohne zwei separate Terminalfenster machen?
jobs
um die Vordergrundprozesse mit einem (für mich) besser lesbaren Titel zu besuchen. Dann zB fg %2
die zweite auswählen.
control-z
als "Rückgängig" fungiert, überprüfen Sie Ihren vimrc, um festzustellen, ob er behave mswin
vorhanden ist. Wenn es ist, entfernen Sie es und control-z
wird funktionieren
exit
Sie können verwenden :sh
, um zu Ihrer Standard-Shell zurückzukehren. Wenn Sie dann $ exit
an der Shell-Eingabeaufforderung eingeben , kehren Sie zu Vim zurück.
Wenn Sie sich auf einem Unix-System befinden, wird Ctrl+ ZVim anhalten und Ihnen eine Shell geben.
Geben Sie ein fg
, um zurückzukehren. Beachten Sie, dass Vim während der Bearbeitung eine Auslagerungsdatei erstellt und das Anhalten von Vim diese Datei nicht löscht (Sie beenden Vim schließlich nicht). Auf dummen Terminals war diese Methode ziemlich Standard für Edit-Compile-Edit-Zyklen mit vi . Ich habe gerade herausgefunden, dass gVim für mich die Eingabe minimiert Z.
Es gibt verschiedene Möglichkeiten, Vim zu verlassen und bei Ihrer Rückkehr alles gleich zu haben. In Vim selbst gibt es eine sehr gute Dokumentation, in der die verschiedenen Möglichkeiten erläutert werden. Sie können den folgenden Befehl in vim verwenden, um auf die entsprechende Hilfeseite zuzugreifen::help usr_21
Um Ihnen eine kurze Zusammenfassung zu geben, finden Sie hier die verschiedenen Methoden zum Beenden und Zurückkehren mit intakter Sitzung:
Anhalten und fortsetzen - Damit beenden Sie Vim nicht wirklich. Sie verstecken Ihre Sitzung einfach im Hintergrund, bis Sie sie benötigen. Wenn Sie Ihren Computer zurücksetzen oder einen Kill-Befehl an Vim senden, verlieren Sie Ihre Sitzung. Dies ist gut, wenn Sie vorübergehend zu einer anderen Aufgabe wechseln möchten. Wenn dies jedoch der Fall ist, sollten Sie stattdessen das Dienstprogramm GNU Screen verwenden.
Sitzungen - Dies ist die wahre Methode zum Speichern Ihrer Sitzung zwischen Instanzen von Vim. Selbst wenn Sie Vim wirklich verlassen, wird Ihre Sitzung bei Ihrer Rückkehr für Sie da sein. Dies ist wahrscheinlich das, wonach Sie suchen.
Um die Antwort des Benutzers Zen zu erweitern , können Sie der ~/.vimrc
Datei die folgende Zeile hinzufügen , um schnell zwischen Bash und Vim umzuschalten:
noremap <C-d> :sh<cr>
Wenn Sie Neovim verwenden , können Sie Folgendes tun:
:terminal
Befehl zum Aufrufen eines Terminalfensters. exit
, um den Terminalprozess abzubrechenWenn es Ihnen nichts ausmacht, Ihre Maus ein wenig zu benutzen:
Dadurch wird eine neue Registerkarte auf dem Terminal erstellt, auf der Sie Vim ausführen können. Verwenden Sie nun Ihre Maus, um zum / vom Terminal zu wechseln. Ich bevorzuge dies, anstatt immer tippen ( :shell
und beenden) zu müssen.
ps
um Vordergrundprozesse unix.stackexchange.com/questions/6115/… anzuzeigen