Для автоматизации действий в списке мест QuickFix я написал команду
аналогично :bufdo
или :windo
, который выполняет команду для каждого элемента.
command! -nargs=+ Qfixdo call QuickFixDo(<q-args>)
function! QuickFixDo(cmd)
let bufnam = {}
for q in getqflist()
let bufnam[q.bufnr] = bufname(q.bufnr)
endfor
for n in keys(bufnam)
exe 'buffer' n
exe a:cmd
update
endfor
endfunction
Используя функцию, можно открыть все файлы, указанные в списке QuickFix, с помощью
следующая команда.
:Qfixdo tab sp
Кроме того, можно повторить и саму замену.
:Qfixdo %s/pattern/string/