답변:
display-buffer
변수를 설정하여 함수의 동작을 사용자 정의 할 수 있음을 발견했습니다 display-buffer-function
.
이 기능은 내가 원하는 것을하는 것처럼 보입니다 (확실히 정리가 필요하지만 작동합니다).
(데 펀트 내 디스플레이 버퍼 (BUFFER-OR-NAME 및 선택 사항 NOT-THIS-WINDOW) (캐치 리턴 ;; 기존 창에서 버퍼를 검색 (((윈도우리스트))) ((첫번째 창) ;; 녹이다 (if (eq (윈도우 버퍼 (첫 번째 창)) BUFFER-OR-NAME) (반품을 던져 ;; 미니 버퍼가 창을 선택하지 않으면 (if (eq (선택된 창) (미니 버퍼 창)) (첫번째 창) (선택 창 (첫 번째 창))))) ;; 다음 창 (setq 창 (휴식 창))) ;; 그렇지 않으면 전류를 사용하십시오 (if (eq (선택된 창) (미니 버퍼 창)) ;; 만약 minubuffer라면 (프론 (선택 창 (미니 버퍼 선택 창)) (버퍼-버퍼 BUFFER-OR-NAME) (선택 창 (미니 버퍼 창))) ;; 일반 창이라면 (프론 (버퍼-버퍼 BUFFER-OR-NAME) (선택된 창)))))
(setq pop-up-windows nil)
당신이 원하는 것을하는 것 같습니다.*Help*
그것은 단지 예일뿐입니다.
switch-to-buffer-other-window
, 원하지 않는 행동을 보는 대부분의 경우에 사용 되기 때문에 원하는 경우 조건에 따라 모든 경우를 수정하도록 조언합니다.
switch-to-buffer-other-window
도움말 코드의 내부에서 꽤 깊이 사용 된 것 같습니다 . 특정 상황에서 스위치-버퍼를 사용하도록 스위치-버퍼-기타 창에 조언을 시도 할 수 있습니다. 그것은 당신에게 시작을 제공해야합니다.