Я рекомендую использовать плагин Vim для Ack - ack.vim .
( Скринкаст был сделан с помощью byzanz с использованием обёртки от Ask Ubuntu и оптимизирован с помощью gifsicle )
Я ищу инструмент, который дает строку поиска и некоторые заданные файлы, будет искать в каждой из них указанную строку, и если он найдет ее, откройте файл и перейдите к этой строке.
Может быть, это можно объяснить следующим фрагментом
search() { for file in $(find . -type f); do contains=$(cat "$" | grep -n "$1") [[ -n "$" ]] && echo "$" done }
Это упрощенная версия - она будет только печатать имя файла соответствующих файлов и искать каждый файл в текущем каталоге, но это работает. Мы могли бы расширить его и перейти к соответствующей строке, поместив что-то внутри условного
line=$(echo "$" | sed -E 's/^(\d*):.*/\1/') vim -c "$" "$"
Но это имеет огромные недостатки, особенно при поиске кода.
Есть ли инструмент для решения этой задачи?