2014-11-10 3 views
1

조직 모드의 버퍼를 특정 태그와 일치하는 머리글 만 필터링하고 싶습니다.org-match-sparse-tree를 사용하는 좁은 버퍼?

C-c /에이어서 tag1&tag2을 시도했습니다. 그러나 버퍼를 좁히는 대신 Emacs는 태그가있는 각 표제 옆의 별표를 강조 표시합니다 ...

이맥스가 실제로 일치하는 헤드 라인으로 버퍼를 좁히도록 어떻게 변경합니까?

감사합니다.

답변

1

원래 포스터에서 사용한 검색 정규식이 잘못되었을 수 있습니다. org-occur이 강조 표시된 결과의 경계를 설정하는 데 사용되는 하위 함수는 다소 단순합니다. (while (re-search-forward regexp nil t) . . .) 일치하는 패턴의 시작과 끝이 강조 표시된 영역의 경계를 결정합니다 (예 : (match-beginning 0)(match-end 0)). 즉 한 슬래시 파이프 -

org-occur 대화식 호출 될 때, 정규 표현식 :tag1:\|:tag2: 사용하거나 또는 태그 모두를 포함하는 헤드를 검색한다. org-occur는 비 대화식으로, 2 개의 백 슬래시 및가 필요한 파이프를 사용하는 경우 -

(org-occur ":tag1:\\|:tag2:") 함께 특정 순서에을 두 태그를 찾고 예를 들어, 정규 표현식은 다음과 같습니다 : :tag1:tag2:

org-occur의 디폴트의 동작은 모든 것을 접고 만 일치하는 결과를 전개하는 것입니다 - 이전에 일치하는 결과를 볼 나머지에 대한 예외로, 하지 않는 한 인수 keep-previous 비 무기 호입니다. 버퍼가 완전히 펼쳐진 것처럼 보이면 (org-occur을 사용한 검색 후) 사용 된 정규 표현식은 아마도 모두과 일치합니다.

의 현재 버전이 사용되고 있는지 확인하고 확인하는 것이 좋습니다 (M-x org-version RET). :lasc:

Example http://www.lawlist.com/images/org_occur.png

+0

감사합니다. 정규식은 실제로이 문제가 아닙니다. 내가하고 싶은 것은 검색 기준과 일치하지 않는 헤더를 완전히 숨기는 것입니다 (버퍼를 특정 하위 트리로 좁힐 수있는 것과 같은 방식입니다). – Adam

+0

'org-tags-view'와'org-search-view'에 대한 대화 형 함수를 살펴 보는 것이 흥미로울 수도 있습니다 - 둘 다 접히거나 숨길 필요없이 쿼리의 결과 만 포함하는 버퍼를 생성합니다 아무것도.'org-occur'는 검색 결과를 제외하고는 모든 것을 숨길 수있는 조항이 없습니다 (그러나 거의 모든 것을 숨 깁니다). 이것은 향후 구현을위한 사용자 정의 기능입니다. – lawlist

+0

나는 뭔가 다른 것을보고있는 경우를 대비하여'org-occur'가 어떻게 보이는지에 대한 예제를 게시했습니다. 메인 제목을 제외한 거의 모든 것을 숨 깁니다. – lawlist

1

C-c/m tag1&tag2을하는 태그의 org-occur을 사용하여 검색의


예 당신이 원하는 것을 - 레벨 1 호를 제외하고 (그들은 돈하더라도 사람들은 항상 볼 수 있습니다 ' 유용한 항목이 포함되어 있지만 레벨 2 이상의 항목은 요청과 일치하는 경우에만 표시됩니다.

예를 들어 C-c/t과 같은 방식으로 작동합니다 (현재 버퍼의 모든 TODO).

+0

아, 좋은 관찰! 나는 이것이 최고 수준의 헤드 라인에도 적용되도록 사용자 정의 할 수 있다면 궁금하다. 그들이 배제되어야한다는 이상한 것처럼 보입니다 ...? 감사!! – Adam

+0

AFAICT, Org 코드 기반을 변경해야합니다. 한편, 현재의 행동에 정말로 짜증이 난다면 해결 방법은 레벨 1 제목을 "메타 레벨 1"제목으로 감쌀 수 있습니다 ... 그런 식으로 현재 레벨 1이 레벨 2 섹션이되고, 숨겨집니다 ;-) – fniessen