Моя жизнь стала намного приятнее с момента обнаружения команды Emacs 'rgrep.
Скажем, я хочу найти 'IPortletDataProvider' в источнике Plone. Я делаю:
M-x rgrep
- Emacs запрашивает строку поиска (IPortletDataProvider)
- ... тогда какие файлы искать (* .py)
- ... тогда какой каталог (~ / Plone / buildout-cache / eggs). Если я уже редактирую файл, по умолчанию используется каталог этого файла, который обычно является именно тем, что я хочу.
Результаты появятся в новом буфере. Вверху находится команда find | xargs grep
, которую запускал Emacs. Все совпадения подсвечиваются. Я могу искать в буфере, используя стандартные команды текстового поиска. Лучше всего я могу нажать Enter (или щелкнуть) по совпадению, чтобы открыть этот файл.
Это очень хороший способ работы. Мне нравится, что я не должен помнить find | xargs grep
последовательности аргументов, но что вся эта сила есть, если она мне нужна.