我定义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
唯一的出路是从另一个 shell 杀死卡住的 vim 进程。
这里出了什么问题,如何升级这个 bash 函数(或找到一些替代方案)以使其兼容 TAB 补全?
编辑ag
不发送任何上游完成
$ [git:master] complete -p ag
-bash: complete: ag: no completion specification