如何让 gvim 保持终端直到它结束?
how to make gvim hold terminal until it ends?
我正在尝试使用 gvim 查找和替换文件层次结构,如下所示:
find . | xargs grep -l pattern | xargs -n 1 gvim -c "%s/pattern/replacement/gc" -c "wq"
我可能会尝试在没有 n 标志的情况下使其正常工作,但理论上我可以有很多很多匹配的文件。现在发生的是 gvim 从终端分离,所以 xargs 一个接一个地启动 gvim 的所有实例,几乎没有延迟。如果我可以强制 gvim 保持终端,xargs 将等待 gvim 完成,因此将永远只有一个 gvim 运行.
很遗憾,我无法在与之相关的环境中使用 vim。我从一位同事那里获得了 gvim 的工作二进制文件,但他们没有 vim 二进制文件,我自己无法编译 vim 并暂时放弃了它。
您正在寻找 -f
命令行选项:
-f GUI: Do not disconnect from the program that started Vim.
'f' stands for "foreground". If omitted, the GUI forks a new
process and exits the current one. "-f" should be used when
gvim is started by a program that will wait for the edit
session to finish (e.g., mail or readnews). If you want gvim
never to fork, include 'f' in 'guioptions' in your |gvimrc|.
我正在尝试使用 gvim 查找和替换文件层次结构,如下所示:
find . | xargs grep -l pattern | xargs -n 1 gvim -c "%s/pattern/replacement/gc" -c "wq"
我可能会尝试在没有 n 标志的情况下使其正常工作,但理论上我可以有很多很多匹配的文件。现在发生的是 gvim 从终端分离,所以 xargs 一个接一个地启动 gvim 的所有实例,几乎没有延迟。如果我可以强制 gvim 保持终端,xargs 将等待 gvim 完成,因此将永远只有一个 gvim 运行.
很遗憾,我无法在与之相关的环境中使用 vim。我从一位同事那里获得了 gvim 的工作二进制文件,但他们没有 vim 二进制文件,我自己无法编译 vim 并暂时放弃了它。
您正在寻找 -f
命令行选项:
-f GUI: Do not disconnect from the program that started Vim. 'f' stands for "foreground". If omitted, the GUI forks a new process and exits the current one. "-f" should be used when gvim is started by a program that will wait for the edit session to finish (e.g., mail or readnews). If you want gvim never to fork, include 'f' in 'guioptions' in your |gvimrc|.