Das Öffnen von Suchergebnissen mit Vim NUR, wenn sie vorhanden sind

451
krystah

:) In meinen unendlichen Bemühungen, fauler zu werden, suche ich nach einer Möglichkeit, meine "Open Grep / Ack-Ergebnisse in Vim" -snippet zu verbessern. Was ich derzeit zum Öffnen gefundener Dateien verwende, ist:

vim $(ack -il "pattern") 

Die Verwendung ist eine Flamme, aber es handelt sich um einen Haken - Vim wird geöffnet, unabhängig davon, ob die Anzahl der gefundenen Dateien 0 ist (Vim öffnet sich also mit nichts in den Puffer geladen). Gibt es eine elegante Möglichkeit, dieses völlig unbedeutende Problem zu vermeiden?

Danke im Voraus

2

2 Antworten auf die Frage

4
Ingo Karkat

Wie wäre es, Vim sofort zu beenden, wenn keine Argumente übergeben wurden:

vim -c 'if !argc()|quit|endif' $(ack -il "pattern") 
2
garyjohn

Wie wäre es damit?

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

(Getestet mit, grepda ich keine habe ack.) Beachten Sie, dass dies nicht funktioniert, wenn ackDateien mit Leerzeichen im Namen zurückgegeben werden.

Beide angebotenen Lösungen sind feine Optionen, die diese als akzeptierte Option festlegen, da sie kürzer ist :) Vielen Dank an beide! krystah vor 10 Jahren 0