Есть ли способ использовать буферные окна в Emacs? - PullRequest
7 голосов
/ 27 декабря 2011

У меня есть два буферных окна, открытых в emacs, расположенных вертикально. Есть ли команда, которая переставляет их по горизонтали?

Ответы [ 3 ]

6 голосов
/ 28 декабря 2011

Библиотека Transpose Frame предоставляет превосходный набор функций для управления окнами в кадре (для вашего конкретного примера достаточно любого из transpose-frame, rotate-frame-clockwise или rotate-frame-anti-clockwise).

Существуют и другие альтернативы, но я нахожу эту библиотеку довольно полной.См. Вики-страницу (или комментарий в коде), где приведены чертежи ascii о том, что делает каждая функция.

4 голосов
/ 27 декабря 2011

Я использую следующий фрагмент, взятый из Emacs wiki :

(defun toggle-window-split ()
  (interactive)
  (if (= (count-windows) 2)
      (let* ((this-win-buffer (window-buffer))
         (next-win-buffer (window-buffer (next-window)))
         (this-win-edges (window-edges (selected-window)))
         (next-win-edges (window-edges (next-window)))
         (this-win-2nd (not (and (<= (car this-win-edges)
                     (car next-win-edges))
                     (<= (cadr this-win-edges)
                     (cadr next-win-edges)))))
         (splitter
          (if (= (car this-win-edges)
             (car (window-edges (next-window))))
          'split-window-horizontally
        'split-window-vertically)))
    (delete-other-windows)
    (let ((first-win (selected-window)))
      (funcall splitter)
      (if this-win-2nd (other-window 1))
      (set-window-buffer (selected-window) this-win-buffer)
      (set-window-buffer (next-window) next-win-buffer)
      (select-window first-win)
      (if this-win-2nd (other-window 1))))))

(define-key ctl-x-4-map "t" 'toggle-window-split)

Просто поместите это в init.el и используйте Ctrl - x 4 t .

3 голосов
/ 28 декабря 2011

Вы спрашивали о мозаичных окнах в раме. Другие ответят вам прямо об этом ( C-x 3 - это начало). Но вы также можете знать, что вы можете использовать отдельные кадры и размещать кадры по всему экрану или вниз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...