只需一个功能即可触发QuickFixCmdPost

时间:2015-02-13 22:37:34

标签: vim

考虑以下最小的vimrc:

set nocompatible

function! OpenBuffer()
    execute "silent botright 2new empty_buffer"
    call append(line('$'), "This should only show up when running GrepFixme()")
    normal dd
endfunction

function! GrepTodo()
    execute "vimgrep/TODO/j %"
endfunction

function! GrepFixme()
    execute "vimgrep/FIXME/j %"
endfunction

augroup test_au
    au!
    au QuickFixCmdPost vimgrep call OpenBuffer()
augroup END

" TODO: foo
" FIXME: bar

正如在GIF中可以看到的那样,QuickFixCmdPost自动命令被触发 当我调用GrepFixme()GrepTodo()函数时。我想要 仅在我调用QuickFixCmdPost时触发GrepFixme()自动命令 函数而不是当我调用GrepTodo()函数时。有没有办法去 实现那个?

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用:noautocmd或设置'eventignore'来阻止autocmd触发。例如:

:noautocmd vimgrep/foo/

如需更多帮助,请参阅:

:h :noa
:h 'eventingore'