w vim, jak ustawić „args” na wynik „grep -l”?
Aby to zilustrować, oto jak to zrobić z wiersza poleceń:
<code>vim `grep "hello" * -Rl` </code>
Otwiera to vim ze wszystkimi plikami, które mają w sobie „hello” (-l podaje same nazwy plików). Chcę zrobić to samo, ale z vima. Koncepcyjnie coś takiego (co nie działa):
<code>:args !grep "hello" * -Rl </code>
Jestem otwarty na zupełnie inne podejścia, aby to osiągnąć; Po prostu chciałbym, żeby był w jednej linii (więc łatwo go edytować i ponowić).
Odpowiedź brzmi: po prostu użyj backticks -ale z kluczowym zastrzeżeniem! Poniższe nie działa dla mnie z powoducytaty na okołohello
:
<code>:args `grep "hello" * -Rl` </code>
Ale działa, jeśli je usunę lub ucieknę od cytatów:
<code>:args `grep hello * -Rl` :args `grep \"hello\" * -Rl` </code>
(zostało to ukryte w komentarzach po odpowiedzi na chaos - dodałem je tutaj, aby były bardziej widoczne, na wypadek gdyby ktoś inny miał ten problem)