grep ag ack 출력을 vim으로 리디렉션할 때 쉘 TAB 완성이 작동하도록 하려면 어떻게 해야 합니까?

grep ag ack 출력을 vim으로 리디렉션할 때 쉘 TAB 완성이 작동하도록 하려면 어떻게 해야 합니까?

ag사용법을 비교적 투명하게 만들기 위해 bash 함수로 정의했습니다.

ag() { [ $# -gt 0 ] && vim -c silent\ SyntasticToggleMode -c copen -q <(/usr/bin/ag --silent --vimgrep --nogroup "$@") || /usr/bin/ag; }

이것은 잘 작동하지만 TAB으로 파일 이름을 완성하려고 하면 vim즉시 완료되고 멈춥니다.

$ [git:master] ag sense<TAB>
Vim: Warning: Output is not to a terminal

유일한 방법은 다른 쉘에서 멈춰 있는 vim 프로세스를 종료하는 것입니다.

여기서 무엇이 문제이며, 이 bash 기능을 TAB 완성과 호환되도록 업그레이드하려면 어떻게 해야 합니까(또는 다른 대안을 찾을 수 있습니까?)

편집은 ag업스트림 완료를 보내지 않습니다.

$ [git:master] complete -p ag
-bash: complete: ag: no completion specification

관련 정보