当在 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'