我经常在使用 vim 时使用 :sh 命令(例如做一个 grep)。
但有时我忘记了我的壳后面有一个 vim 在跑。
是否有命令可以检测我的 shell 后面运行了一个 vim?
您可以查看是否设置了特定于 Vim 的 shell 变量:
$ echo $VIM
$ echo $VIMRUNTIME
$ echo $MYVIMRC
你应该有一个名为 VIM
的环境变量集,你可以看看这是否是
$ echo $VIM
请注意,当您正常处于 shell 中时,也有可能(不太可能)设置$VIM。
您可以检查父进程:
$ ps -p $PPID -o cmd=
vi file
或者独立于环境变量:
$ ps -p $(ps -p $$ -o ppid=) -o cmd=
vi file