如何检查它是否仍处于Vim shell模式
在
vim中,键入:sh将切换到
shell,exit可退出
shell并返回vim.是否有任何命令检查它是否处于vim shell模式?这样我就不会意外地vim再次打开同一个文件.我想避免以下情况:
vim myfile> :sh>退出> vim myfile //得到另一个vim实例的警告正在编辑同一个文件 这些是正常情况: 解决方法
除了@ a3nm的答案,你能做的就是
>使用pstree -h:它将输出当前分支highligted的进程树,你需要检查的是高亮显示中是否有vim. 这些方法更可靠,因为您可以覆盖VIMRUNTIME,VIM和MYVIMRC环境变量以进行一些自定义(BTW,它们由vim定义用于vimscripts,而不是:sh).它们也适用于允许您运行子shell的其他进程,但不定义任何环境变量. 我还建议考虑使用< C-z>在正常模式下:或者挂起/:在Ex中停止,因为这些使用shell vim是从而不是创建新的.此行为使您可以访问在运行vim之前键入的命令的历史记录,还可以编写更复杂且耗时的shell配置,而无需每次都等待. 如果您使用< C-z>两种方法仍然有效,但第一种方法不会突出显示vim,因为它与pstree本身处于同一级别(具有相同的父级),可能只是在图形中的pstree之下或之上.这也启用了第三种方法:内置作业shell. 为了从< C-z>恢复.你应该使用fg(zsh和bash中的单个%也可以使用),然后输入更少然后退出(但更多然后< C-d>). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |