혼란을 방지하기 위해 저는 emacs의 "창"만 실행하므로 emacs 의미에서 창을 사용합니다. 저는 창 분할을 찾고 있습니다. 너비가 70이라고 가정해 보겠습니다. Emacs를 시작할 때 새 분할의 완료 버퍼가 포함되어 있습니다. 전용창구가 필요한 것 같아요. 내가 기본적으로 달성하고 싶은 것은 다음과 같습니다.
+-----+---+
| | A |
| |---|
| C | B |
+-----+---+
C = 내가 주로 일하는 곳. A = 완료 버퍼(나는 또한 메시지와 emacs가 나에게 던지는 모든 것을 원합니다) B = 쉘.
이를 위해 이제 .emacs에 다음을 추가했습니다.
(split-window-horizontally) ;; want two windows at startup
(other-window 1) ;; move to other window
(shell) ;; start a shell
(other-window 1) ;; move back to first window
오른쪽 창을 다시 수직으로 분할하고 각 창의 크기를 지정할 수 있도록 하고 싶습니다. 또한 완료, 메시지, ... 창(A)의 개인 속성이 true가 되어 emacs가 이를 대체하지 않기를 원합니다.
많은 사람들이 이 설정을 사용한다고 들었는데 어디에서도 찾을 수 없는 것 같습니다.
답변1
결국 나는 .emacs 파일에서 다음을 사용하여 내가 원하는 것을 얻을 수 있었습니다.
(progn
(interactive)
(split-window-horizontally)
(other-window 1)
(split-window)
(other-window 1)
(eshell)
(other-window 1)) ;; finally change back to scratch window
;; open temporary buffers in a dedicated window split
(setq special-display-regexps
'("^\\*Completions\\*$"
"^\\*Help\\*$"
"^\\*grep\\*$"
"^\\*Apropos\\*$"
"^\\*elisp macroexpansion\\*$"
"^\\*local variables\\*$"
"^\\*Compile-Log\\*$"
"^\\*Quail Completions\\*$"
"^\\*Occur\\*$"
"^\\*frequencies\\*$"
"^\\*compilation\\*$"
"^\\*Locate\\*$"
"^\\*Colors\\*$"
"^\\*tumme-display-image\\*$"
"^\\*SLIME Description\\*$"
"^\\*.* output\\*$" ; tex compilation buffer
"^\\*TeX Help\\*$"
"^\\*Shell Command Output\\*$"
"^\\*Async Shell Command\\*$"
"^\\*Backtrace\\*$"))
(setq grb-temporary-window (nth 1 (window-list)))
(defun grb-special-display (buffer &optional data)
(let ((window grb-temporary-window))
(with-selected-window window
(switch-to-buffer buffer)
window)))
(setq special-display-function #'grb-special-display)
Github의 .emacs 파일에서 필요한 것을 찾았습니다.
https://github.com/garybernhardt/dotfiles/blob/master/.emacs