isearch/search-replace /를 코드 (주석 또는 문자열에 없음)에서만 사용하고 싶습니다.Emacs에서는 코드 영역에서만 어떻게 조작 (검색) 할 수 있습니까?
일반적인 문제 일 수 있으므로 이미 어떤 패키지에서이 문제를 해결해야합니까?
기존 패키지가 없다면, 글꼴 및 주석을 기반으로 숨겨진 문자열과 주석이 트릭을 수행하는 부 모드를 생각하고 있습니다. 하나 있습니까?
isearch/search-replace /를 코드 (주석 또는 문자열에 없음)에서만 사용하고 싶습니다.Emacs에서는 코드 영역에서만 어떻게 조작 (검색) 할 수 있습니까?
일반적인 문제 일 수 있으므로 이미 어떤 패키지에서이 문제를 해결해야합니까?
기존 패키지가 없다면, 글꼴 및 주석을 기반으로 숨겨진 문자열과 주석이 트릭을 수행하는 부 모드를 생각하고 있습니다. 하나 있습니까?
네, 맞습니다. HideShow 마이너 모드를 사용하면 텍스트 블록, 특히 여러 줄 주석을 숨기거나 표시 할 수 있습니다.
숨기기/표시 주석은 표준 패키지의 일부가 아니지만 wiki 페이지에서 트릭을 수행하는 코드를 찾을 수 있습니다.
그런 다음 isearch 명령은 숨겨진 주석을 고려하지 않습니다.
HOWEVER : replace는 숨겨진 블록을 포함하여 전체 버퍼에서 작동합니다.
이맥스 23.2로 시도해보고 일부 자바 코드를 숨기고 검색 치환으로 숨겨진 블록의 내용을 다음과 같이 수정했습니다. 글쎄, 그건 그 질문에 대한 답이 아니야. – Tom
예, 바꾸기는 전체 버퍼에서 작동합니다. 그러나 isearch는 숨겨진 블록을 조사하지 않습니다. –
Icicles search에는 여러 가지 방법이 있습니다. 여기에 두 가지이다 : 주석에게 (옵션 icicle-ignore-comments-flag
를) 무시
검색 "일"(예를 들어 defun
의, sexp
의, XML 요소 등). 즉, 선택한 코드 세그먼트를 검색 컨텍스트로 사용하지만 코드 내의 주석 또는 주석 내의 코드는 무시하십시오.
의견의 complement을 검색하십시오. 예를 들어, 검색 영역을 문자 영역의 보완으로 정의하고, 문자 영역은 font-lock-comment-face
또는 얼굴 font-lock-comment-delimiter-face
(주석 외부의 모든 코드 검색)을 의미합니다.
검색 컨텍스트를 정의한 후 텍스트를 입력하면 점진적으로 컨텍스트를 필터링 할 수 있습니다. 그리고 당신은 replace을 요구에 맞게 할 수 있습니다.
(질문 : Icicles --- 위의 other answer 참조).
는 다음 중 하나를 사용하여, 그 isearch 기능을 검색한다 컨텍스트를 정의 할 수 있습니다
THING
(sexp, defun는,리스트를 문자 영역은, 문자열, 설명 등) --- 검색 컨텍스트는 주어진 THING
유형의 텍스트 영역입니다. 비 -contexts : 는 또한 보완를 검색 할 수있는 검색 컨텍스트를 정의 가졌어요.C-M-~
을 사용하여 Isearch에서 언제든지 컨텍스트 및 비 컨텍스트 검색간에 전환 할 수 있습니다.
검색 할 때 기본적으로 검색되지 않는 영역은 약간 희미 해 검색 가능한 영역이 눈에 띄게됩니다.
를 들어isearch 기능과 상황에 검색이 두 라이브러리가 필요합니다
여기에 주어진 파일 옆에 전체 icicle-stuff를로드 할 위치는 무엇입니까? https://github.com/emacsmirror/icicles/archive/master.zip –
@ AndreasRöhler : 차가워 요를 다운로드하는 방법은 여러 가지가 있습니다. 그들은 [여기] (http://www.emacswiki.org/emacs/Icicles_-_Libraries)에 설명되어 있습니다. 예를 들어, [MELPA] (http://melpa.milkbox.net/)에서 고드름을 얻을 수 있습니다. (그러나 여기에 언급 된 Isearch + 파일은 Icicles와는 별개입니다.) – Drew
을 [여기에서 관련 논의가있어 (http://thread.gmane.org/gmane .emacs.devel/129755)을 emacs-devel에 설치하십시오. 외관상으로는 문제는 당신이 그 부분을 숨길 수있다, 그러나 보충은 그것을 고려하지 않으며 숨겨 지은 부분에있는 그것의 일을 역시한다. – Tom
또한 여기 : http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/757fb08373f9fbf8 –