对于外部命令,silent关键字在vim中不工作

对于外部命令,silent关键字在vim中不工作,vim,Vim,我正在编写一个vimscript,它以静默方式执行lgrep。但是,silent关键字对于运行的任何外部命令都不起作用lmake、lgrep等仍然转储其输出,尽管在命令之前使用了silent关键字 如何抑制输出 例如: :silent lgrep -R a * 上述命令将转储所有结果,强制用户按enter键。我无法在我的机器上重现他的问题,在bash/zsh/tmux/screen/terminal/iterm/vim 7.3/vim 7.4/任何东西中。任何提示都将不胜感激 更新: 我仍然不

我正在编写一个vimscript,它以静默方式执行
lgrep
。但是,
silent
关键字对于运行的任何外部命令都不起作用
lmake
lgrep
等仍然转储其输出,尽管在命令之前使用了
silent
关键字

如何抑制输出

例如:

:silent lgrep -R a *
上述命令将转储所有结果,强制用户按enter键。我无法在我的机器上重现他的问题,在bash/zsh/tmux/screen/terminal/iterm/vim 7.3/vim 7.4/任何东西中。任何提示都将不胜感激

更新:

我仍然不知道问题出在哪里,但我找到了一个解决方法,它是这样的:

silent !grep -Rn a * >/tmp/lgrep_output.txt
lf /tmp/lgrep_output.txt

以静默方式运行原始外部grep命令(不是lgrep)(这将成功抑制输出,但
:lgrep
不会),将输出重定向到文件。然后将文件加载到位置列表中(
lf/tmp/lgrep_output.txt

我也无法重现该问题。也许是PEBKAC的问题?你知道用户有什么OS/vim/术语吗?如果他用命令
vim-u NONE
启动vim会发生什么?有可能是他有一个插件搞砸了我们在一个没有插件、没有
.vimrc
、没有特殊环境变量的新用户下专门运行vim。我们已经试用了mac上的vim 7.3,以及使用自制软件安装时得到的vim 7.4。在iterm和终端中使用sh/bash/zsh在tmux/screen/plain shell中进行了尝试。真奇怪:^/所有组合“在我的机器上工作”,但从未在他的机器上工作过