2012-04-07 2 views
4

나는 다음과 같은 마크를 가진 파일이 있다고 가정 (또는 태그 전화) :이맥스 : 맞춤 태그 목록을 얻을 수있는 방법이 있습니까?

test.el :

;; ===== 
;; gnus: 

some code here 

;; ==== 
;; ECB: 

some code here 

;; ===== 
;; code: 

some code here 

(elisp에서)

test.py :

# ======== 
# imports: 

some code here 

# ===== 
# defs: 

some code here 

# ===== 
# args: 

some code here 

(파이썬에서)

그래서 저는 리가 될 버퍼를 갖고 싶습니다. 주어진 버퍼/파일에 대해 st와 같은 태그를 붙인다. 그리고 그것은 또한 어떤 식 으로든이 태그를 통해 탐색을 촉진한다 - 마우스 나 키 바인딩 (rest-modetable of contents 기능과 비슷한)와 함께.

는 좀 ETag를 기능을 modifing에 의해이 문제를 해결하고 싶었다. 하지만 하나를 찾을 수 없습니다 (ECB가 버퍼에서 멋지게 etags를 보여주기 때문에 솔루션이 될 것입니다 - 원했던 것처럼).

일부 다른 솔루션은 북마크를 사용했을 수도 있지만 북마크는 특정 파일이 아닙니다. 그것들은 시스템에 따라 다르다. 책갈피 목록에 있습니다. 모든 책갈피가 있습니다 - 주어진 파일의 책갈피 만 얻고 싶었습니다.

+0

내가 ECB를 사용하지 않는,하지만은 ETag를 같이 "태그"/ 태그 파일을 ctags를 것입니다? 아니면 ECB 특유의 것입니까? 전자의 경우, 나는 그것이 당신이 그것의 색인 의견을 만들 수 있다고 의심한다. 책갈피 기능이 향상되었지만 책갈피 작업 과정을 개선 할 수있는 방법이 있습니다. – phils

+0

개요에 마이너 모드를 추가 했으므로 "태그"에 대한 정의가 더 혼란 스럽습니다. 그건 분명히 * 용어의 개요가 아닙니다. 귀하의 질문은 모호합니다. – phils

+0

@phils : 맞습니다. 제 편집 내용은 태그와 아무 관련이 없습니다. 이것은 사용자 정의 표시를 통해 탐색의 문제를 공격하는 또 다른 방법입니다 (또는 태그라고 부름). 아마도 나는 그 질문을 다시 공식화해야한다. – Adobe

답변

4

Emacs Lisp 예제 코드를 사용하여 필자는 emacs-lisp-mode 용 후크에 추가 할 수있는 다음 코드를 사용하여 해결했으며 다른 언어로 쉽게 조정할 수 있어야합니다.

(make-local-variable 'outline-regexp) 
(setq outline-regexp ";; =+\n;; ") 
(make-local-variable 'outline-heading-end-regexp) 
(setq outline-heading-end-regexp ":\n") 
(outline-minor-mode 1) 

이제이 같은 키 바인딩이 표준 개요 모드로 사용할 수 있습니다 : 당신이 원하는 위치를 일시적으로 헤더를 숨길 경우, 당신은 당신의 버퍼의 개요를 얻을 것이다

C-c @ C-p -> prevous header 
C-c @ C-n -> next header 

C-c @ C-t -> hide code between headers 
C-c @ C-a -> show all the code between headers 

을, 다음, 이동 코드를 다시 표시하십시오.

파이썬의 경우, 바로 교체; #와 함께 정규 표현식에서.

outline-mode은 Emacs와 함께 제공되며 자세한 정보가 필요하면 여기에 설명되어 있습니다.

+0

그것은 작동합니다! 놀랍습니다! 너 멋지다! – Adobe

관련 문제