Abrindo os resultados da pesquisa com o Vim APENAS se existirem

2

:) No meu esforço sem fim para ficar mais preguiçoso, estou procurando uma maneira de melhorar o meu "Open Grep / Ack-resultados em Vim" -snippet. O que eu estou usando atualmente para abrir arquivos encontrados é:

vim $(ack -il "pattern")

Usá-lo é um incêndio, 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?

desde já, obrigado

krystah
fonte

Respostas:

2

Que tal agora?

files=$(ack -il "pattern") && vim $files

(Testado com grepdesde que eu não tenho ack.) Note que isso não funcionará se ackretorna arquivos com espaços em seus nomes.

garyjohn
fonte
Ambas as soluções fornecidas são ótimas opções, configurando essa como a mais aceita, já que é mais curta :) Obrigado ambos!
krystah
4

Que tal sair imediatamente do Vim quando não houver argumentos:

vim -c 'if !argc()|quit|endif' $(ack -il "pattern")
Ingo Karkat
fonte