如果 vim 已经在后台运行,则阻止它在 shell 中启动

如果 vim 已经在后台运行,则阻止它在 shell 中启动

当在 Bash-shell 中使用 vim 时,我有时会Ctrl-Z离开 vim 并在 shell 中执行其他操作。稍后我会再使用fg命令返回vim。然而,有时会发生这样的情况:fg当我找到要编辑的文件时,我不会使用 返回到 vim,而是启动一个新的 vim 实例。这意味着我有两个 vim 实例在同一个 shell 中运行,我不喜欢这个想法。我想强迫自己每个 shell 只运行一个实例。

如果一个实例已在当前 shell 中运行,是否有某种方法可以阻止 vim 启动?这可以在 中实现,.vimrc而不是制作一个在我键入时运行的 shell 脚本vim吗?

答案1

这在你的 .bashrc 中可能有效,但可能会出现一些误报:

alias vim='if jobs | grep -q vim; then fg; else command vim; fi'

相关内容