Closed Konfekt closed 9 years ago
Try
autocmd QuickFixCmdPost grep nested cwindow
See :h autocmd-nested
Thank you, that's nailed it. Has been bugging me for ages.
I have the same issue when I'm using Ack to search across files. I need to close the quickfix window and open again using cwindow for the plugin to work.
I'm executing Ack like following -
nnoremap <Leader>vv :silent Ack! -k <cword> .<CR>
Does it work without silent ?
You need to know what Ack does. Is it coming from a plugin? If so, which one?
I could reproduce the problem using the option in your vimrc
let g:ack_use_dispatch=2
So this executes ack
in the background somehow. But I don't know how it actually fills the quickfix list. I'm guessing it either calls setqflist()
directly or uses autocmds internally without nesting. Either of those would make it impossible for quickfix-reflector to notice a change in the quickfix list. Nothing I can do really.
The easy way to make it work is not to use the dispatch mechanism. Another option might be to find a way how you can call copen
automatically after the quickfix list has been filled. This would guarantee quickfix-reflector to trigger.
Regarding the latter option, wouldn't autocmd QuickFixCmdPost * nested cwindow
achieve that?
That's definitely worth a try! Maybe use copen
instead of cwindow
to make sure it's opened again, since the ack plugin already seems to open the quickfix window before.
autocmd QuickFixCmdPost * nested copen
works well. Removing silent didn't help.
After
:grep ...
the quickfix window opens up and displays the results by the autocmdHowever, the
BufReadPost
autocmd ofquickfix-reflector
is not triggered. Only after closing and reopening the quickfix window.How about triggering the
BufReadPost
autocmd directly after the quickfix windows opens for the first time?