Zusätzlich zu der Antwort von @a3nm können Sie Folgendes tun
- 使い道
pstree -h
: Es gibt den Prozessbaum mit dem aktuellen Zweig hervorgehoben aus, und Sie müssen nur prüfen, ob vim in der Hervorhebung vorhanden ist.
- Eine weitere Möglichkeit ist
ps t
: Es werden alle Prozesse angezeigt, die das aktuelle Terminal benutzen, und es sollte angezeigt werden vim
in einer Liste, wenn Sie sich in :sh
. ps -oargs t
kann nützlicher sein, wenn Sie wissen wollen, mit welchen Argumenten Sie vim ausgeführt haben.
Diese Methoden sind zuverlässiger, weil VIMRUNTIME
, VIM
y MYVIMRC
Umgebungsvariablen können von Ihnen überschrieben werden, um einige Anpassungen vorzunehmen (BTW, sie werden von vim für die Verwendung in Vimscripts definiert, nicht von :sh
). Sie funktionieren auch bei anderen Prozessen, die die Ausführung einer Subshell ermöglichen, aber keine Umgebungsvariablen definieren.
Ich würde auch vorschlagen, die Verwendung von <C-z>
im normalen Modus oder :suspend
/ :stop
in Ex, weil diese die Shell verwenden, von der aus vim gestartet wurde, anstatt eine neue zu erstellen. Dieses Verhalten gibt Ihnen Zugriff auf die Geschichte der Befehle, die Sie vor dem Start von vim eingegeben haben, und ermöglicht es Ihnen auch, komplexere und zeitaufwändigere Shell-Konfigurationen zu schreiben, ohne jedes Mal warten zu müssen.
Falls Sie <C-z>
beide Methoden funktionieren, aber die erste Methode hebt vim nicht hervor, weil es auf der gleichen Ebene (mit dem gleichen Parent) wie pstree
selbst, wahrscheinlich knapp unter oder über pstree
in der Grafik. Dies ermöglicht auch die dritte Methode: jobs
Shell-Baukasten.
Für die Wiederherstellung von <C-z>
sollten Sie fg
(eine einzige %
in zsh und bash funktioniert auch), was weniger zu tippen ist als exit
(aber mehr als <C-d>
).