명령이 특정 창을 사용하지 못하게하려면 어떻게해야합니까?


14

일반적으로, 나는 바닥에 두 나의 최선을 다하고 있습니다 네 개의 창으로 프레임 분할을 *compilation*하고 *grep*버퍼. 컴파일 오류를 탐색 할 때 next-error결국 *grep*버퍼를 대상 파일 중 하나로 바꿉니다.

버퍼가 포함 된 창을 사용 하지 않도록 구성 next-error하려면 어떻게 해야합니까?*grep*

내 구체적인 사용 사례는 next-error명령이지만 더 일반적인 답변도 환영합니다.


답변:


14

전용 창 을 사용하는 @Nsukami의 제안에 이어 두 번째 입니다. command 가 아닌 함수 이기 때문에 set-window-dedicated-p직접 사용 하는 것은 번거로울 수 있습니다. 다음 명령과 관련 키 바인딩을 사용하면 다음을 눌러 모든 창의 "전용성"을 전환 할 수 있습니다 C-c t.

(defun toggle-window-dedicated ()
  "Control whether or not Emacs is allowed to display another
buffer in current window."
  (interactive)
  (message
   (if (let (window (get-buffer-window (current-buffer)))
         (set-window-dedicated-p window (not (window-dedicated-p window))))
       "%s: Can't touch this!"
     "%s is up for grabs.")
   (current-buffer)))

(global-set-key (kbd "C-c t") 'toggle-window-dedicated)

이제이 전용 창 기능을 사용하는 편리한 방법입니다! 고마워, 그것은 매력처럼 작동합니다.
piwi

실제로, 기능 + 키잉에서 더 좋습니다.
Nsukami _

4

전용 창을 제안해도 되겠습니까?

이 함수를 사용하여 창을 버퍼 전용으로 사용해야합니다.

set-window-dedicated-p window flag : 이 함수는 플래그가 0이 아닌 경우 전용이고 버퍼가 아닌 경우 전용입니다.

gnu의 의례

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.