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


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

vim $(ack -il "pattern")

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

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


2
2017-09-19 13:12


Источник




Ответы:


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

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

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


2
2017-09-19 14:51



Оба предлагаемых решения - прекрасные варианты, устанавливающие это как принятое, поскольку оно короче :) Спасибо, оба! - krystah


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

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

4
2017-09-19 13:28