Làm cách nào để thay đổi cửa sổ Emacs từ tách dọc sang tách ngang?


26
Window A
++++++++
Window B

Có cách nào để chuyển sang

Window A : Window B

Có cách nào để chuyển đổi chế độ xem mà không đóng cửa sổ?


1
Với màn hình lớn ngày nay, tại sao người ta lại muốn chạy thứ gì đó ngoài cửa sổ cạnh nhau? Tôi sử dụng sáu cửa sổ trải rộng trên hai monitorn - Tôi sử dụng github.com/Lindydancer/multicolumn để thiết lập các cửa sổ khi tôi khởi động Emacs và đã cấu hình hầu hết các gói của tôi để sử dụng lại các cửa sổ hiện có.
Lindydancer

Câu trả lời:


13

Đây là một chức năng đơn giản sẽ chuyển đổi giữa phân chia ngang và dọc. Nó giả định rằng bạn chỉ có hai cửa sổ và không thực hiện thay đổi kích thước:

(defun window-split-toggle ()
  "Toggle between horizontal and vertical split with two windows."
  (interactive)
  (if (> (length (window-list)) 2)
      (error "Can't toggle with more than 2 windows!")
    (let ((func (if (window-full-height-p)
                    #'split-window-vertically
                  #'split-window-horizontally)))
      (delete-other-windows)
      (funcall func)
      (save-selected-window
        (other-window 1)
        (switch-to-buffer (other-buffer))))))

14

Ngoài ra, có một tranpose-framegói trên EmacsWiki sẽ cho phép bạn hoán đổi toàn bộ khung hình, cũng như thực hiện các biến đổi khác (xoay 180 độ; xoay 90 độ theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ; lật theo chiều ngang hoặc chiều dọc).


9

Các transpose-framegói có sẵn trên MELPA là tốt.

Sử dụng M-x transpose-frame, hoặc ràng buộc nó với một cái gì đó để thực hiện điều này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.