Как использовать ack с M-x find-grep? - PullRequest
2 голосов
/ 18 октября 2011

Оставив вопрос здесь для справки. Один Господь знает, почему, но, хотя однажды это не сработало для меня, побудив меня задать этот вопрос, сегодня это сработало. Типичные кровавые эмаки. Также, как правило, это большая радость, когда вы немного боретесь с этим. YMMV.

Эти две команды:

find ~/myco -type f -print0 | xargs -0 -e grep -nH -e "setjmp"

и

ack --no-heading --no-color "setjmp" ~/myco

Похоже, у меня очень похожие результаты на терминале.

И все же, когда я пытаюсь использовать вторую в качестве команды с M-x find-grep в emacs, она просто печатает результаты, а не гиперссылки и выделяет их, как это было бы с первой.

Кто-нибудь знает, что происходит? Первоначальные эксперименты с ack в командной строке показывают, что он удаляет find и grep из воды, поэтому было бы неплохо использовать его и в emacs.

Ответы [ 3 ]

3 голосов
/ 18 октября 2011

В окнах я вызываю ack из find-grep, например. как это:

c:/xampp/perl/bin/perl.exe c:/bin/ack-standalone.txt --type-set java=.java --type=java -i information

и работает отлично. Результаты связаны и окрашены в буфере grep. Я не знаю, почему это не работает для вас, но я могу сказать, что это работает здесь.

версия emacs: GNU Emacs 23.2.1

версия для подтверждения: 1,94

1 голос
/ 18 октября 2011

Emacs пытается показать вывод find-grep в буфере в grep-mode. Очевидно, grep-mode (удивление, удивление) не понимает формат вывода ack. Используйте выделенный ack-mode .

0 голосов
/ 27 августа 2014

Я обнаружил, что этот ack-режим работает лучше и из коробки.Еще немного красок было бы неплохо, но по крайней мере это читабельно:

https://github.com/sudish/ack-mode.el

...