Que tal isso?
files=$(ack -il "pattern") && vim $files
(Testado com grep
, pois não tenho ack
.) Observe que isso não funcionará se ack
retornar arquivos com espaços em seus nomes.
:) No meu esforço interminável para ficar mais preguiçoso, estou à procura de uma forma de melhorar o meu "Open Grep / Ack-results em Vim" -snippet. O que eu estou usando atualmente para abrir arquivos encontrados é:
vim $(ack -il "pattern")
Usar é uma chama, mas envolve uma captura - o Vim será aberto independentemente do número de arquivos encontrados ser 0 (em outras palavras, o Vim é aberto sem nada carregado no buffer). Existe alguma maneira elegante de evitar este problema completamente insignificante?
Obrigado antecipadamente
Que tal sair imediatamente do Vim quando nenhum argumento foi passado:
vim -c 'if !argc()|quit|endif' $(ack -il "pattern")