12

我在 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

有人对如何解决这个问题有任何想法吗?

4

2 回答 2

8

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

于 2012-11-10T13:13:28.113 回答
0

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

于 2014-06-13T13:09:18.417 回答