วิธีการเปลี่ยน Emacs windows จากการแยกตามแนวตั้งเป็นการแยกแนวนอน


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

มีวิธีเปลี่ยนเป็น

Window A : Window B

มีวิธีสลับมุมมองโดยไม่ปิดหน้าต่างหรือไม่


1
ด้วยหน้าจอขนาดใหญ่ของวันนี้ทำไมคนเราถึงอยากเรียกใช้สิ่งอื่นนอกเหนือจากหน้าต่างแบบเคียงข้างกัน ฉันใช้หก windows แผ่กระจายไปทั่ว monitorns สองตัว - ฉันใช้github.com/Lindydancer/multicolumnเพื่อตั้งค่าหน้าต่างเมื่อฉันเริ่มใช้งาน Emacs และกำหนดค่าแพ็คเกจส่วนใหญ่เพื่อนำหน้าต่างที่มีอยู่กลับมาใช้ใหม่
Lindydancer

คำตอบ:


13

นี่คือฟังก์ชั่นง่าย ๆ ที่จะสลับระหว่างการแยกในแนวนอนและแนวตั้ง มันจะถือว่าคุณมีหน้าต่างสองบานเท่านั้นและไม่มีการปรับขนาดใด ๆ :

(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

อีกทางเลือกหนึ่งคือtranpose-frameแพคเกจ EmacsWikiที่จะช่วยให้คุณสามารถเปลี่ยนทั้งเฟรมรวมถึงการแปลงอื่น ๆ (หมุน 180 องศาหมุนตาม 90 องศาตามเข็มนาฬิกาหรือทวนเข็มนาฬิกาพลิกแนวนอนหรือแนวตั้ง)


9

transpose-frameแพคเกจที่มีอยู่ในMELPAเช่นกัน

ใช้M-x transpose-frameหรือผูกไว้กับบางสิ่งบางอย่างเพื่อทำสิ่งนี้ให้สำเร็จ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.