janela de conclusão dedicada do emacs

janela de conclusão dedicada do emacs

Para evitar confusão, executo apenas uma "janela" do emacs e, portanto, uso window no sentido do emacs. Estou procurando uma divisão de janela que, digamos, 70 de largura, contenha o buffer de conclusões na nova divisão quando inicio o emacs. Acho que preciso ter uma janela dedicada. O que estou basicamente tentando alcançar é o seguinte.

 +-----+---+
 |     | A |
 |     |---|
 |  C  | B |
 +-----+---+

C = onde normalmente trabalho. A = o buffer de conclusão (também gostaria de ter mensagens e tudo o que o emacs joga para mim lá) B = um shell.

Agora adicionei o seguinte para esse propósito em meu .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 

Gostaria de dividir a janela certa outra vez verticalmente e gostaria de poder especificar as dimensões de cada janela. Além disso, gostaria que a propriedade dedicada das conclusões, mensagens, ... janela (A) fosse verdadeira para que o emacs não a substituísse.

Ouvi dizer que muitas pessoas usam essa configuração, mas não consigo encontrá-la em lugar nenhum.

Responder1

Eventualmente, consegui o que queria com o seguinte em meu arquivo .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)

Encontrei o que precisava neste arquivo .emacs no github.

https://github.com/garybernhardt/dotfiles/blob/master/.emacs

informação relacionada