Eu encontrei um plugin vim que atende completamente a minha necessidade, que é vim-qargs . A ideia por trás é quase a mesma com o @Ingo.
como posso percorrer os buffers na lista de correcções rápidas :copen
e fazer algumas ações com ela.
Ou qualquer forma alternativa de colocar esses arquivos na lista args e eu posso usar argsdo.
Eu encontrei um plugin vim que atende completamente a minha necessidade, que é vim-qargs . A ideia por trás é quase a mesma com o @Ingo.
Você mesmo pode escrever o loop:
for file in ['foo.txt', 'bar.txt']
execute 'edit' fnameescape(file)
" Your processing here.
endfor
Ou se você já tiver todos os arquivos carregados no Vim, use :bufdo
e execute seus comandos condicionalmente, com base em se o buffer (ou número de buffer com bufnr('')
) está na sua lista:
bufdo if index(['foo.txt', 'bar.txt'], bufname('')) != -1) | execute ... | endif
Editar : Agora que eu entendo que você deseja iterar os arquivos na lista de correções rápidas (aquela que você vê quando executa :copen
, é possível obter números de buffer via map(getqflist(), 'v:val.bufnr')
. Ainda precisa evitar o processamento do mesmo buffer várias vezes, no entanto.
Tags vim