2009-08-09 4 views
3

Emacs에서 TAGS 파일을 만드는 비동기 프로세스가 있습니다.Emacs에서 * compilation *과 비슷한 버퍼를 만드는 방법은 무엇입니까?

이 프로세스는 * ctags *라는 프로세스 버퍼를 생성합니다. 프로세스 결과가 "finished \ n"이면 버퍼를 삭제합니다.

아무 것도없는 경우 M-x 컴파일을 실행할 때 * 컴파일 * 상태 출력과 비슷한 프로세스 버퍼를 표시하려고합니다.

e.e. 수직으로 화면을 분할하고 하단에 * ctags * 버퍼를 표시하고 싶습니다. q을 누르면 버퍼를 내리고 원래 버퍼를 보여줍니다. 옆

 
(split-window-vertically) 
(set-window-buffer (selected-window) (get-buffer "*ctags*")) 

하지만이 사실에서이 * ctags를 * 위에 버퍼, 버퍼가 * 편집과 같은 특성이없는 *을 박았 :

나는 내 공정 감시 콜백이를 사용하여 시도 출력, 예. q 삽입 q.

* 컴파일 *과 같은 버퍼를 어떻게 만듭니 까?

편집 :

 
(pop-to-buffer (get-buffer "*ctags*")) 
(compilation-mode) 

그것은의 * ctags를 * 버퍼를 선택하여 편집 모드로 전환하거나 Q 아래 트레이 잭슨의 대답에 영감을

, 이것이 정확히 내가 원하는 않습니다 창을 닫을거야.

EDIT2 : 이맥스는 어떻게 든 소재 기존 버퍼에 작은 모드를 다시 적용 좋아하지 않기 때문에

(compilation-mode)
(주요 모드 대신 작은 모드)를 사용 .

내가 오류 메시지는 다음과 같습니다

 
Toggling compilation-minor-mode off; better pass explicit argument. 

답변

5

에서, *compilation* 버퍼의 동작을 얻을 스크립트에이를 추가하려면 :

(compilation-mode) 
+1

위대한! 정확히 내가 필요로하는 것. 완전을 기하기 위해 (compilation-minor-mode)도 작동합니다. – cschol

2

그것은 compilation-에서 자신의 모드를 도출하는 것이 좋습니다 모드, 오류 정규식 등을 정의하십시오.

+0

당신이 정교하거나 예제를 가리킬 수 있습니까? – cschol

관련 문제