2010-02-23 5 views
4

ack-grep을 Windows 용 Emacs에서 grep + find 대신 사용하려고하지만, ack-grep은 즉시 인쇄하지 않고 (성공적으로) 종료됩니다. 성냥. 나는 ack-grep에 대한 명령 행 매개 변수의 모든 조합을 생각해 봤지만 아무것도 작동하지 않는 것 같습니다.Windows에서 이맥스에서 "grep-find"로 실행할 때 ack가 작동하지 않습니다.

M-x grep-find 

"html"이 포함 된 파일을 검색하려면 "ack html"을 입력하십시오. ACK는 즉시 인쇄 아무것도 종료하지 : cmd.exe에 동일한 명령 "ACK HTML"를 실행

-*- mode: grep; default-directory: "c:/" -*- 
Grep started at Tue Feb 23 23:50:52 

ack html 

Grep finished (matches found) at Tue Feb 23 23:50:52 

작동 문자열 "HTML"를 포함하는 다양한 파일의 미세 (보여주는 많은

어떤 아이디어

+0

"cmd.exe에서"ack grep "과 동일한 명령을 실행합니다."ack html "을 의미합니까? 검색 할 파일 이름을 제공하지 않아도됩니까? (나는이 것들이 Windows에서 어떻게 작동하는지 잘 모르겠다. 당신은 적절한 파이프가 없다.) 리눅스에서 grep-find는 find 명령을 실행하는 기본 명령을 제공하며 검색 할 문자열을 제공하고 선택적으로 find 호출을 변경하는 것을 포함하여 사용자 정의합니다. –

+0

바보 같은 질문이지만 PATH에 답이 있습니까? 이맥이 될 수 있습니다 그것을 실행할 수있는 확인을 찾을 수 없습니다 –

+0

어떤 버전의 이크와 어떤 버전의 이맥스입니까? – cjm

답변

8

.? Windows에서 Emacs에서 ack를 실행할 때 파일 검색이나 STDIN에서 읽어야하는지에 대해 혼란 스러울 때가 있습니다. 여기에 ack (M-x ack 사용)를 사용하는 함수가 있습니다. .emacs

+0

예! 고마워, 그게 다야. 실제로 "-f"를 구문 분석하려고 시도한 파일을 확인하려고 시도했지만 "필터 모드에서 -f를 사용할 수 없습니다"라는 불평을했습니다. 그건 힌트 였을 것입니다. – JesperE

0

(setq grep-find-command "ack <nul -i ")

0

(defvar ack-command "ack --nogroup --nocolor ") 
(defvar ack-history nil) 
(defvar ack-host-defaults-alist nil) 
(defun ack() 
    "Like grep, but using ack-command as the default" 
    (interactive) 
    ; Make sure grep has been initialized 
    (if (>= emacs-major-version 22) 
     (require 'grep) 
    (require 'compile)) 
    ; Close STDIN to keep ack from going into filter mode 
    (let ((null-device (format "< %s" null-device)) 
     (grep-command ack-command) 
     (grep-history ack-history) 
     (grep-host-defaults-alist ack-host-defaults-alist)) 
    (call-interactively 'grep) 
    (setq ack-history    grep-history 
      ack-host-defaults-alist grep-host-defaults-alist))) 
나는 STDIN 너무 거기에 속임수를 썼는지 닫는 ack-and-a-half 모듈을 사용하여 비슷한 문제가 있었다. github에 대한 문제가 있습니다.

관련 문제