emacs 전용 완료 창

emacs 전용 완료 창

혼란을 방지하기 위해 나는 emacs의 "창"을 하나만 실행하므로 emacs 의미에서 창을 사용합니다. 나는 emacs를 시작할 때 새로운 분할에 대한 완성 버퍼를 포함하는 너비가 70이라고 가정하는 창 분할을 찾고 있습니다. 전용창구가 필요한 것 같아요. 내가 기본적으로 달성하려는 것은 다음과 같습니다.

 +-----+---+
 |     | 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

관련 정보