
混乱を避けるために、私は 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