我在Ubuntu 12.04和MacOS终端中使用VIM内部的gnome端子。我使用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
有人对如何解决此问题有任何想法吗?
这是vim自己的 :grep*
命令工作的问题,而不是 ack.vim
问题。您不能阻止使用终端,但是将shellpipe
设置为>
,&>
或2>/dev/null>
将阻止命令将输出复制到终端(默认情况下,此选项为2>&1|tee
和&>
或2>&1>
值是最接近当前完成的功能)。
建议的解决方案有效,但是现在vim-screen在按下Ctrl-Z之后输出。