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

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.


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")
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.