IT박스

파일 검색을위한 Emacs 명령

itboxs 2020. 11. 20. 08:44
반응형

파일 검색을위한 Emacs 명령


현재 폴더의 모든 파일에서 CODE_INIT_PARAMETERS 매크로를 검색하고 싶습니다. Mx는 CODE_INIT_PARAMETERS 발생하지만 이것은 열린 버퍼의 항목 만 표시합니다.

Mx 쉘로 전환 한 다음 grep으로 전환하지 않고 Emacs에서 현재 폴더의 모든 파일을 검색하는 방법이 있습니까? 일부 명령 (Mx 발생)의 경우 Emacs가 문제가되는 코드로 점프하므로 grep을 피하고 싶습니다. 감사.


시도 할 수 있습니다 M-x rgrep.

다음을 요청합니다.

  • 재귀 적으로 검색하려는 디렉토리
  • 검색에 포함 할 파일의 파일 패턴
  • 검색하려는 패턴

추가로 CVS, .svn 또는 .git과 같은 소스 제어 개인 디렉토리를 검색에서 제외합니다.


Emacs는 내장 명령을 제공합니다.

M-x grep RET CODE_INIT_PARAMETERS *.c

(및 'grep-find하위 디렉토리 검색)

나는 외부 패키지가 제공하는 인터페이스를 선호하지만 igrep(명령 제공 igrep등을 igrep-find).


dired에서 폴더를 열고 모든 파일 ( 'm'로 표시)을 표시하면 'dired-do-search (내 바인딩에서'A ')를 실행할 수 있습니다. 표시된 모든 파일을 검색합니다. 다음 항목으로 이동하려면 tags-loop-continue (M-,)를 실행하십시오.

파일의 다양한 하위 집합 (.h 파일, .cpp 파일 등)을 표시하고 전체 트리를 검색하기위한 재귀 dired를 만드는 여러 elisp 함수를 설정했습니다.


이것은 Trey Jackson의 제안에 대한 개선입니다.

MX grep

grep 명령이 표시됩니다. 예 : grep -nH -e

첫 번째 플래그 세트 (재귀 용)에 R을 추가하고 -e 뒤에 검색어를 입력하십시오.

grep -nHR -e CODE_INIT_PARAMETERS

RET를 누르십시오. 결과는 Emacs에서 이해할 수 있습니다. Mx가 발생하는 것처럼 클릭하거나 다른 방법으로 탐색 할 수 있습니다. 명령 끝에 검색 디렉토리를 넣어야 할 수도 있습니다.

grep -nHR -e CODE_INIT_PARAMETERS /path/to/root/of/search

Mx find-grep-dired도 rgrep과 유사하게 작동합니다.


경우에

  1. 반복적으로 검색 할 수 있습니다.
  2. etag 작동합니다

당신은 고려할 수 있습니다 etags및 중 하나를 호출 find-tag(바인딩 M-.기본적으로) 또는 tags-search(디폴트 바인딩 없지만 계속 될 수있다 M-,).


뿐만 아니라이 ACK-그렙 모드 를 사용하는 이맥스에 대한 ACK-그렙 특히 프로그래밍 언어와 IMHO는 MX의 GREP의 출력보다 더 낫 네요 ''grepping '을 위해 설계 도구.

그러나 앞서 언급했듯이 etag는 적절한 방법이어야합니다!

참고 URL : https://stackoverflow.com/questions/1331038/emacs-command-for-search-in-files

반응형