Before: enew! only! let w:testing = 1 Execute (:Grepper -noprompt -tool ag -grepprg ag --column --nogroup -s Foo include): Grepper -noprompt -tool ag -grepprg ag --column --nogroup -s Foo include AssertEqual len(getqflist()), 1 AssertEqual winnr('$'), 2 AssertEqual w:quickfix_title, 'ag --column --nogroup -s Foo include ' AssertEqual getline('.')[:6], 'include' Execute (:Grepper -noprompt -noswitch -tool ag -grepprg ag --column --nogroup -s Foo include): Grepper -noprompt -noswitch -tool ag -grepprg ag --column --nogroup -s Foo include AssertEqual winnr('$'), 2 AssertEqual len(getqflist()), 1 " Doesn't work on Travis: " Log getline('.') " Assert line2byte('$') == -1 Execute (:Grepper -noprompt -noopen -tool ag -grepprg ag --column --nogroup -s Foo include): Grepper -noprompt -noopen -tool ag -grepprg ag --column --nogroup -s Foo include AssertEqual len(getqflist()), 1 AssertEqual winnr('$'), 1 AssertEqual line2byte('$'), -1 Execute (:Grepper -noprompt -noopen -jump -tool ag -grepprg ag --column --nogroup -s Foo include): Grepper -noprompt -noopen -jump -tool ag -grepprg ag --column --nogroup -s Foo include AssertEqual len(getqflist()), 1 AssertEqual winnr('$'), 1 AssertEqual getline('.'), 'Foo: This is just a random'