วิธีการเปลี่ยนขนาดของหน้าต่างแยกหน้าจอ emacs?


13

หากฉันมี Emacs แยกตามแนวนอนและด้านบนฉันจะแก้ไขรหัส elisp และที่ด้านล่างฉันอยู่ในเปลือก ตามค่าเริ่มต้น Emacs ทำให้ทั้งสองหน้าต่างมีขนาดเท่ากัน แต่ฉันต้องการบัฟเฟอร์ของเชลล์ที่เล็กลง ฉันสงสัยว่าฉันจะทำอย่างนั้นได้อย่างไร

คำถามเดิมที่ถามโดยSteve on SO: วิธีการเปลี่ยนขนาดของหน้าต่าง emacs แบบแยกหน้าจอ


4
เราตั้งใจทำซ้ำคำถามจาก SO หรือไม่? stackoverflow.com/questions/4987760/…
phils

@phils ไม่ฉันไม่ได้ แต่ฉันจะสร้างลิงก์ไปยังโพสต์ ขอบคุณสำหรับความเข้าใจ
Luke Shimkus

นอกเหนือจากนั้นที่หนึ่งเป็นนิด ๆ หน่อยง่ายเกินไป :)
Nsukami _

1
Gee แก้ไขยอดเยี่ยม @King ตอนนี้คำถามนี้ได้กลายเป็นจริงที่แตกต่างจากคนที่คุณคัดลอก ...
rsenna

2
มันทำให้ฉันคิดว่าคำถามที่เกี่ยวข้องกับ emacs เกี่ยวกับ SO ควรจะโยกย้าย มันจะหลีกเลี่ยงความโกลาหล (เล็ก)
Nsukami _

คำตอบ:


20

C-x-( shrink-window-if-larger-than-buffer) เพื่อย่อขนาดหน้าต่างให้พอดีกับเนื้อหา

C-x+( balance-windows) เพื่อทำให้ windows มีความสูงและความกว้างเท่ากัน

C-x^( enlarge-window) เพื่อเพิ่มความสูงทีละ 1 บรรทัดหรือค่า ARG นำหน้า arg เชิงลบลดขนาดหน้าต่าง ตัวอย่าง:C-u - 3 C-x ^

C-x{( shrink-window-horizontally)

C-x}( enlarge-window-horizontally)


+1สำหรับคำสั่งการลดขนาด ฉันกำลังมองหาวิธีที่จะหดตัวโดยบรรทัดเดียว คือC-uอะไร
Vass

3
@Vass C-uเริ่มอาร์กิวเมนต์ตัวเลขสำหรับคำสั่งต่อไปนี้ หากคุณต้องการเพิ่ม 5 ครั้งแทนที่จะพิมพ์ 5 ครั้งคำสั่งเดียวกันคุณพิมพ์C-u 5 C-x ^
Nsukami _

1
นอกจากนี้ยังเป็นที่น่าสังเกตว่าC-uค่าเริ่มต้นคือ 4 หมายความว่าจะทำเช่นเดียวกับC-u C-x ^ C-u 4 C-x ^
ramnes

7

ฉันยังอยากจะขอแนะนำให้ตรวจสอบจากทั้งwindresizeแพคเกจจากELPAหรือwindsizeแพคเกจจากMELPA

ด้วยwindresizeคุณสามารถทำได้M-x windresizeจากนั้นใช้ปุ่มลูกศรเพื่อย้ายขอบหน้าต่างได้อย่างง่ายดายโดยกดปุ่ม ENTER เมื่อเสร็จสิ้น


3

คุณสามารถใช้C-x^( enlarge-window) ในหน้าต่างด้านบนเพื่อทำให้ใหญ่ขึ้น (และทำให้หน้าต่างด้านล่างเล็กลง)

ใช้เมาส์คุณยังสามารถลาก modeline ของหน้าต่างด้านบนเพื่อปรับขนาดได้


เป็นความคิดที่ดีที่จะทำให้หน้าต่างอื่นเล็กลงโดยขยายหน้าต่างด้านบนให้กว้างขึ้น!
Vass

0

โปรดทราบว่าเช่นเดียวกับในระบบหน้าต่างคุณสามารถใช้เมาส์พร้อมโหมด xterm-mouse-mode เพื่อลากตัวแบ่งหน้าต่าง

โปรดทราบว่าบางครั้งดูเหมือนว่าจะขึ้นอยู่กับโปรแกรม xterm หรือ xterm เหมือนจริงและ iirc ใน Emacsen รุ่นเก่ามันไม่น่าเชื่อถือในอดีตเกี่ยวกับคอลัมน์ที่ 100 เว้นแต่ว่าคุณเล่นกับตัวแปรสภาพแวดล้อม TERM สักหน่อย แต่ใน Emacs 24.2 ของฉัน .1 มันทำงานได้ดีกับ emacs -nw -q (เช่นไม่สนใจ. emacs ทั้งหมดของฉันและเปิดใช้งานโหมด xterm-mouse-mode ด้วยตนเองM-x xterm-mouse-mode)

อัปเดต: FYI เพื่อความสมบูรณ์ฉันจะชี้ให้เห็นว่าสิ่งนี้ใช้ได้กับตัวแบ่งแนวตั้ง (เช่นเมื่อคุณแบ่งด้วยC-x 3)


0

ฉันเคยเขียนเล็ก ๆ น้อย ๆ แบบง่าย (สำหรับการใช้งานส่วนบุคคลของฉัน) resize-frameการโต้ตอบ ฉันคิดว่านี่ควรจะสะดวก

https://gist.github.com/kuanyui/65a408d393871048771c

M-x resize-frameเพื่อเปิดใช้งานresize-frameโหมดรอง:

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