如何让gvim保持终端直到它结束?

时间:2017-09-19 15:45:54

标签: vim find xargs

我正在尝试使用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并且暂时放弃了它。

1 个答案:

答案 0 :(得分:2)

您正在寻找-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|. 命令行选项:

String sql= "update PROJEKT.PACJENT set IMIE='"+ jTextField9.getText() + "',NAZWISKO='"+ jTextField10.getText() + "',MIASTO='"+ jTextField11.getText() + "',ULICA='"+ jTextField12.getText() + "',UBEZPIECZENIE=" + jTextField13.getText() + "' where PESEL='" + jTextField8.getText()+ "'";