Утилита для поиска содержимого файла, открытия его и перехода к соответствующей строке

212
user137369

Я ищу инструмент, который дает строку поиска и некоторые заданные файлы, будет искать в каждой из них указанную строку, и если он найдет ее, откройте файл и перейдите к этой строке.

Может быть, это можно объяснить следующим фрагментом

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 "$" "$" 

Но это имеет огромные недостатки, особенно при поиске кода.

Есть ли инструмент для решения этой задачи?

0
[Плагин] Vim ** (https://github.com/mileszs/ack.vim) для ** Ack **, возможно? Cristian Ciupitu 9 лет назад 0
Это очень хорошо отвечает требованиям, да. Спасибо. Вы хотели бы добавить это как ответ, чтобы я мог принять это? user137369 9 лет назад 0

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

1
Cristian Ciupitu

Я рекомендую использовать плагин Vim для Ack - ack.vim .

ack.vim plugin searching for "package" in the source code of Ansible

( Скринкаст был сделан с помощью byzanz с использованием обёртки от Ask Ubuntu и оптимизирован с помощью gifsicle )

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