emacs専用の補完ウィンドウ

emacs専用の補完ウィンドウ

混乱を避けるために、私は emacs の「ウィンドウ」を 1 つだけ実行しているので、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

関連情報