Abrindo os resultados da pesquisa com o Vim APENAS se existirem

2

:) 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

    
por krystah 19.09.2013 / 15:12

2 respostas

2

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.

    
por 19.09.2013 / 16:51
4

Que tal sair imediatamente do Vim quando nenhum argumento foi passado:

vim -c 'if !argc()|quit|endif' $(ack -il "pattern")
    
por 19.09.2013 / 15:28