2017-09-19 23 views
0

나는 발견하고이 같은 gvim을 사용하여 파일 계층 구조를 통해 대체하려합니다. 이제는 gvim이 터미널에서 연결 해제되므로 xargs는 gvim의 모든 인스턴스를 차례대로 조금씩 시작합니다. gvim이 터미널을 잡도록 강제 할 수 있다면, xargs는 gvim이 끝날 때까지 기다릴 것이고, 따라서 gvim이 실행되는 인스턴스가 하나만있을 것입니다.끝날 때까지 gvim을 터미널에 고정하는 방법은 무엇입니까?</p> <pre><code>find . | xargs grep -l pattern | xargs -n 1 gvim -c "%s/pattern/replacement/gc" -c "wq" </code></pre> <p>나는 아마 n 개의 플래그없이 제대로 작동하도록 시도 할 수 있었다, 그러나 나는 경기 이론적으로 많은, 많은 파일을 할 수 :

불행히도 저는 관련 환경에서 vim을 사용할 수 없습니다. 동료로부터 gvim을위한 작업 바이너리를 얻었지만 vim 바이너리가 없었고 vim을 직접 컴파일하지 못했고 지금 당장 포기했습니다.

답변

1

당신은 -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|.