2

私はEmacsを使用してPythonでコーディングしています。ニーズに合わせて「.emacs」を変更しました。ただし、現在のバッファを実行するときにウィンドウのデフォルトの垂直分割動作を変更する方法がわかりません。

そんなこと知ってる:

(setq split-height-threshold nil) 
(setq split-width-threshold 0) 

一般的に動作します。しかし、初めてバッファを実行したときは動作しませんC-c C-c

私の〜/ .emacsに上記のコードがあるにもかかわらず、次のことが起こりますC-c C-c垂直分割:(

私の質問が明確であることを願っています。これについて何か考えがあれば教えてください。

4

1 に答える 1

1

私は以下を使用します。それはあなたの問題を修正するだけでなく(私は願っています)、そもそもEmacsがウィンドウを分割するのを防ぎます。

;;; ------------------------------------------------------------------
;;; display-buffer

;; The default behaviour of `display-buffer' is to always create a new
;; window. As I normally use a large display sporting a number of
;; side-by-side windows, this is a bit obnoxious.
;;
;; The code below will make Emacs reuse existing windows, with the
;; exception that if have a single window open in a large display, it
;; will be split horisontally.

(setq pop-up-windows nil)

(defun my-display-buffer-function (buf not-this-window)
  (if (and (not pop-up-frames)
           (one-window-p)
           (or not-this-window
               (not (eq (window-buffer (selected-window)) buf)))
           (> (frame-width) 162))
      (split-window-horizontally))
  ;; Note: Some modules sets `pop-up-windows' to t before calling
  ;; `display-buffer' -- Why, oh, why!
  (let ((display-buffer-function nil)
        (pop-up-windows nil))
    (display-buffer buf not-this-window)))

(setq display-buffer-function 'my-display-buffer-function)
于 2012-12-16T18:44:18.737 に答える