在显示搜索结果之前,终端vim中的Ack正在闪烁它的输出。怎么阻止它?

时间:2012-11-10 12:43:08

标签: vim ack

我在Ubuntu 12.04中的gnome-terminal和MacOS的终端中都使用了vim。我使用ack.vim插件来执行项目范围的文本搜索,它工作正常,但有一个令人不安和分散注意力的错误:

当您执行搜索时,整个vim屏幕将返回终端并在运行时显示ack的输出。当它停止运行时,屏幕返回到vim并正确显示搜索结果。此外,当您退出vim时,所有ack的输出都将在终端中。

我知道这个问题https://github.com/mileszs/ack.vim/issues/18但是我想在此发布,看看我是否可以获得有关如何修复它的想法。

在ack.vim中,我可以看到行silent execute a:cmd . " " . l:grepargs,我认为这是实际运行ack命令的地方。沉默的选择已经存在,就我的vim-fu带我而言。 :S

任何人对如何解决此问题都有任何想法?

2 个答案:

答案 0 :(得分:8)

这是vim自己的:grep*命令如何工作的问题,而不是ack.vim问题。您无法阻止使用终端,但将shellpipe设置为>&>2>/dev/null>会阻止命令将输出复制到终端(默认情况下,此选项为2>&1|tee&>2>&1>值与当前最接近的值相近。)

答案 1 :(得分:0)

建议的解决方案有效,但现在按下ctrl-z后vim屏幕在输出中。