![如果 vim 已经在后台运行,则阻止它在 shell 中启动](https://linux22.com/image/102405/%E5%A6%82%E6%9E%9C%20vim%20%E5%B7%B2%E7%BB%8F%E5%9C%A8%E5%90%8E%E5%8F%B0%E8%BF%90%E8%A1%8C%EF%BC%8C%E5%88%99%E9%98%BB%E6%AD%A2%E5%AE%83%E5%9C%A8%20shell%20%E4%B8%AD%E5%90%AF%E5%8A%A8.png)
当在 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'