Открытие результатов поиска ТОЛЬКО в Vim, если они существуют

372
krystah

:) В своих бесконечных попытках стать ленивее я ищу способ улучшить мой "Open Grep / Ack-results in Vim" -snippet. В настоящее время я использую для открытия найденных файлов:

vim $(ack -il "pattern") 

Использовать его - просто замечательно, но он включает в себя один улов - Vim будет открываться независимо от того, равно ли количество найденных файлов 0 (другими словами, Vim открывается без загрузки в буфер). Есть ли какой-нибудь элегантный способ избежать этой совершенно незначительной проблемы?

заранее спасибо

2

2 ответа на вопрос

4
Ingo Karkat

Как насчет немедленного выхода из Vim, если не было передано никаких аргументов:

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

Как насчет этого?

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

(Проверено, grepтак как у меня нет ack.) Обратите внимание, что это не будет работать, если ackвозвращает файлы с пробелами в их именах.

Оба предложенных решения являются хорошими вариантами, устанавливая это как принятое, так как оно короче :) Спасибо обоим! krystah 10 лет назад 0

Похожие вопросы