คำถามติดแท็ก frames

คือ "หน้าต่าง" ระดับระบบกราฟิกของ Emacs ในขั้นต้นประกอบด้วยหนึ่งหน้าต่างและโดยปกติจะมีแถบเมนูแถบเครื่องมือและพื้นที่เสียงสะท้อน

6
ฉันจะเพิ่มขนาด Emacs ของฉันให้มากที่สุดได้อย่างไรเมื่อเริ่มใช้งาน
มีวิธีเพิ่มหน้าต่างของฉันให้ใหญ่ที่สุดเมื่อเปิดเครื่องไหม? ขณะนี้ฉันกดControl+ + Upบนแป้นพิมพ์ของฉัน แต่มันก็น่ารำคาญมากที่จะทำเช่นนั้นทุกครั้ง ฉันใช้ Emacs 24.4 บน Ubuntu 12.04
65 frames 

2
ความแตกต่างระหว่างบัฟเฟอร์ไฟล์หน้าต่างและเฟรมคืออะไร
เมื่อโพสต์คำถามในเว็บไซต์นี้บางครั้งผู้คนพูดถึง"windows"เมื่อพวกเขาหมายถึง"เฟรม"และ"บัฟเฟอร์"หรือ"ไฟล์"เมื่อพวกเขาหมายถึง "หน้าต่าง" ดังนั้น: ถาม: อะไรคือความแตกต่างระหว่างบัฟเฟอร์ไฟล์หน้าต่างและเฟรม? (ฉันโพสต์คำถามนี้ในจิตวิญญาณของคำสั่งผสมคำถาม : เพื่อส่งเสริมการใช้คำที่ถูกต้อง)
28 buffers  window  frames  files 

3
ฉันจะพิมพ์เฟรม Emacs ได้อย่างไร
ฟังก์ชั่นps-print-buffer-with-facesพิมพ์บัฟเฟอร์ Emacs มีวิธีพิมพ์เฟรมที่มีมากกว่าหนึ่งบัฟเฟอร์ในนั้นหรือไม่? ฉันต้องการพิมพ์ Emacs Calc frame ทั้งคู่ด้วย RPN stack และ trail trail
28 frames  calc  print 

6
สลับไปมาระหว่างเค้าโครงหน้าต่าง
เมื่อฉันกำหนดค่าเลย์เอาต์ที่กำหนดเองจากนั้นเพียงแค่ต้องดูชั่วคราวในไฟล์เดียวแบบเต็มหน้าจอและเมื่อฉันต้องการเลย์เอาต์นั้นกลับมา - ฉันต้องทำการรีโฟลด้วยตนเอง ฉันต้องการรหัสปลั๊กอิน / elisp เพื่อบันทึกเลย์เอาต์ของฉันและสามารถสลับไปมาระหว่างเลย์เอาต์ที่บันทึกไว้ได้ UPDATE ขอบคุณทุกคน. ข้อเสนอแนะabo-abo ที่จะใช้โหมดผู้ชนะเป็นสิ่งที่ดีจริงๆและฉันได้รับมันทำงานในเวลาศูนย์ wasamasaแนะนำปลั๊กอินที่ยอดเยี่ยมมากมายที่ฉันไม่เคยได้ยินและให้ข้อมูลวิธีใช้รีจิสเตอร์ Jordon Biondoอธิบายให้ฉันทราบถึงวิธีการใช้รีจิสเตอร์และสิ่งนี้เป็นสิ่งที่ฉันต้องการในวิธีที่ง่ายที่สุด ขอบคุณทุกคน.
24 window  package  frames 

2
แสดงรายการคำศัพท์ที่ด้านล่างของเฟรมหรือไม่
ฉันต้องการแสดงคำศัพท์ 3 รายการในบรรทัดแยกกันตามแนวนอนที่ด้านล่าง (แม้ว่าส่วนบนก็ใช้ได้เช่นกัน) ของ emacs ทุกเฟรมที่ฉันเปิด ฉันคิดว่า 6 วิธีในการทำเช่นนี้และพวกเขาทั้งหมดมีปัญหา: ความคิดแรกของฉันคือการเพิ่มบรรทัดลงในบรรทัดโหมดของฉัน แต่ AFAICT คุณไม่สามารถใช้อักขระบรรทัดใหม่ในบรรทัดโหมดได้เพียงแค่ได้รับการแปลงเป็น "^ J" ความคิดที่สองของฉันคือการมีบรรทัดที่ด้านบนของหน้าจอและใช้บรรทัดส่วนหัว แต่ไม่รองรับอักขระขึ้นบรรทัดใหม่ ฉันสามารถแสดงโอเวอร์เลย์ในช่วง 3 บรรทัดสุดท้ายของหน้าต่างได้ แต่การทำให้สิ่งนี้ดูแข็งแกร่ง - การเลื่อนจะต้องถูกกระตุ้นเมื่อจุดถึงการวางซ้อนมากกว่าจุดสิ้นสุดของหน้าต่างจริงและฉันต้องเปลี่ยนตำแหน่งใหม่ตลอดเวลา การซ้อนทับเนื่องจากการวางซ้อนอยู่ในพื้นที่ข้อความไม่ใช่พื้นที่หน้าต่าง ฉันสามารถลองทำ windows เฉพาะที่ด้านล่างของเฟรม ฉันได้ลองโค้ดนี้แล้ว แต่มันก็ไม่แข็งแรงเหมือนกันดูเหมือนว่ามันจะทำงานไม่ถูกต้องเมื่อเฟรมมีหน้าต่างที่แยกออกไปแล้วและฉันต้องรีบูต Cx, 1 ถึงเวอร์ชันลบที่กำหนดเองซึ่งไม่สนใจ หน้าต่างพิเศษของฉันและฉันแน่ใจว่ามีมุมอื่น ๆ นอกจากนี้เมื่อหน้าต่างความช่วยเหลือปรากฏขึ้นในขณะนี้หน้าต่างจะเปิดขึ้นในแนวตั้งเพราะคิดว่ามีการแบ่งตามแนวนอนอยู่แล้ว (ซึ่งในทางเทคนิคแล้วมี แต่จะแสดงหน้าต่างบรรทัดเดียวเท่านั้น) ฉันสามารถมีเฟรมเฉพาะสำหรับสิ่งนี้ได้ แต่จากนั้น config ของฉันจะไม่ทำงานในโหมดเทอร์มินัลและฉันต้องสคริปต์ตัวจัดการหน้าต่างของฉันเพื่อจัดการกับมันที่ด้านล่างของหน้าจอทำให้ไม่สามารถเลือกได้ ฯลฯ ฉันสามารถแทรกข้อความ 3 บรรทัดลงใน minibuffer โดยตรง ตอนนี้ฉันทำงานได้บางส่วนฉันสามารถเพิ่มรถมินิบัสเพื่อรองรับ 3 …

3
ธีมที่แตกต่างกันสำหรับเทอร์มินัลและเฟรมกราฟิกเมื่อใช้ Emacs daemon
ฉันพยายามที่จะบรรลุพฤติกรรมดังต่อไปนี้ใน Emacs24: ฉันชอบที่จะใช้ชุดรูปแบบที่แตกต่างกัน (solarized-dark เทียบกับ solarized-light) ขึ้นอยู่กับว่าฉันเชื่อมต่อกับเซิร์ฟเวอร์ที่รันด้วยเฟรมเทอร์มินัล % emacsclient -t หรือด้วยเฟรม gtk % emacsclient -c ดูเหมือนว่าจะทำงานใน Emacs รุ่นเก่า แต่ Emacs ปัจจุบันฉันไม่สามารถหาวิธีได้ ฉันตรวจสอบแล้ว alreday ดังนั้น (เช่น/programming//q/18904529/152439และคำตอบ) และรายชื่อผู้รับจดหมาย (เช่นhttps://lists.gnu.org/archive/html/help-gnu-emacs/ 2012-02 / msg00227.htmlและhttps://lists.gnu.org/archive/html/help-gnu-emacs/2012-02/msg00237.html ) การตั้งค่าปัจจุบันของฉันมีลักษณะดังนี้: (add-to-list 'custom-theme-load-path "~/.emacs.d/themes/solarized") (if (daemonp) (add-hook 'after-make-frame-functions (lambda (frame) (select-frame frame) (if (display-graphic-p frame) (load-theme 'solarized-light t) (load-theme …
20 frames  daemon  themes 

2
วิธีเปลี่ยนหัวเรื่องจาก emacs @ host เป็นชื่อไฟล์
ฉันใช้ Emacs 24.5.1 ใน OpenSUSE Tumbleweed กับ Gnome 3.16 และชื่อของหน้าต่าง GTK กับ Emacs นั้นจะเป็นชื่อโฮสต์ @ emacs เสมอ ฉันจะเปลี่ยนเป็นชื่อไฟล์ปัจจุบันที่ฉันแก้ไขได้อย่างไร
16 frames  gtk3 

2
คุณสามารถเปิดใช้งาน / (นำมาด้านหน้า) emacs โดยใช้ elisp ดั้งเดิมได้หรือไม่? (เช่นเมื่อทำงานในโปรแกรมอื่น)
ฉันต้องการบังคับให้ emacs เปิดใช้งานถูกซื้อให้เป็นแบบ frond และโฟกัส 'ขโมย' ในบางสถานการณ์ เช่นเมื่อฉันเรียนจบ Pomodoro หรือในระหว่างการแจ้งเตือนการนัดหมายที่สำคัญ ตอนนี้ฉันกำลังมองหาวิธี 'ดั้งเดิม' ที่จะทำเช่นนั้นเพียงเพื่อลดการพึ่งพาจากภายนอก (เฉพาะลีนุกซ์ก็โอเคสำหรับฉันข้ามแพลตฟอร์มน่าจะดีกว่า) เทคนิคนี้เป็นไปได้จาก emacs ภายในหรือไม่ [แก้] วิธีแก้ไข: หากใช้ GUI สิ่งนี้จะทำงานได้ดี: (x-focus-frame nil) [ด้วยเหตุผลทางประวัติศาสตร์ ... ] ฉันได้ลอง: การมองเห็นเฟรม (ไม่ทำงาน) (make-frame-visible) และนอกจากนี้ยังมี: (make-frame-invisible) (make-frame-visible) แต่สิ่งเหล่านี้ดูเหมือนจะใช้ได้เฉพาะเมื่อ Emacs เปิดใช้งานแล้ว การเพิ่มเฟรม (ไม่ทำงาน) กรอบด้านล่างดูเหมือนจะซ่อน emacs จริง (lower-frame) แต่การเพิ่มเฟรมจากตัวจับเวลาไม่ได้ คือไม่มีอะไรเกิดขึ้น (raise-frame) ดูเหมือนว่า 'เปิดใช้งาน emacs' หายไปก่อนที่จะเพิ่ม …
16 frames 

1
ฉันจะบล็อกเฟรมไม่ให้แตกได้อย่างไร
ขณะนี้ฉันทำงานกับทับทิมและ rspec ฉันชอบความคิดที่ว่ามีเฟรมแยกต่างหากในจอภาพอื่นที่แสดงบัฟเฟอร์การคอมไพล์ การตั้งค่าปัจจุบันของฉันใช้เฟรม 'code' (ซึ่งฉันทำงานจริง) และเฟรม 'test-result' (ซึ่งฉันเห็นผลลัพธ์ rspec) ปัญหาคือว่าเมื่อฉันพยายามที่จะเปิดบางรวบรวมข้อผิดพลาดหรือแฟ้มใน 'การทดสอบผล' กรอบแยกหน้าต่างในที่กรอบ สิ่งที่ฉันอยากทำคือเปิดให้อยู่ในกรอบ 'code' ของฉัน ฉันใช้ตัวเลือกdisplay-buffer-reuse-framesนี้แล้ว ฉันพยายามตั้งค่าหน้าต่างผลลัพธ์การคอมไพล์dedicatedด้วย แต่เมื่อใดก็ตามที่ emacs พยายามเปิดหน้าต่างใหม่เฟรมใหม่จะถูกสร้างขึ้น (ซึ่งน่ากลัวเป็นพิเศษหากคุณใช้ Helm) มีวิธีง่ายๆในการบรรลุเป้าหมายนี้หรือไม่?
16 window  frames 

2
วิธีสลับเต็มหน้าจอในโหมด Emacs GUI (ตัวเลือกแบบเต็มหน้าจอจะเป็นสีเทาใน Kubuntu)
นี่เป็นคำถามพื้นฐาน แต่ฉันรู้สึกว่าสูญเสียไปจริงๆ (การค้นหาโดย Google ค้นพบวิธีแก้ปัญหาสำหรับ OS X เท่านั้น) จนกระทั่งเมื่อเร็ว ๆ นี้ฉันใช้โหมดเทอร์มินัลเป็นหลัก (ซึ่งฉันสามารถสร้างแบบเต็มหน้าจอโดยใช้ทางลัดเต็มหน้าจอของสภาพแวดล้อมเดสก์ท็อปสำหรับหน้าต่างเชลล์) แต่เปลี่ยนเป็น GUI เพราะฉันต้องการเลือกแบบอักษร ข้อเสนอแนะใด ๆ การใช้ปุ่มต่าง ๆ ในแถบชื่อเรื่องของหน้าต่างไม่ได้เต็มหน้าจออย่างแท้จริง - ฉันยังคงเห็นแถบงานและแถบชื่อหน้าต่าง แก้ไข: ฉันควรเพิ่มว่าFull-screenตัวเลือก (เช่นหลังจากคลิกขวาที่แถบชื่อหน้าต่าง) เป็นสีเทา (ดูรูปที่ 1 ด้านล่าง) นอกจากนี้การเปลี่ยนการFull Screenตั้งค่าภายใต้Special Applications Settingsการแปลงกลับเป็นการปิดการใช้งานโดยอัตโนมัติ No borderตัวเลือกที่จะนำเสนอวิธีการแก้ปัญหาบางส่วนในการที่จะทำให้แถบชื่อหน้าต่างหายไป (แม้ว่าแถบงานยังคงมองเห็นได้) - มันจะดีถ้ามีวิธีที่จะได้สลับแบบเต็มหน้าจอโดยใช้แป้นพิมพ์ลัดและได้รับ KDE และ emacs' การปรับแต่งได้ฉันคิดว่ามันน่าจะเป็นเพราะ KDE ของฉันและ emacs n00b จัดแสดง 1: ปรับปรุง: เพื่อป้องกันการตั้งค่าใด …

3
มีวิธีใดบ้างที่จะเรียกใช้ฟังก์ชั่น hook ได้เพียงครั้งเดียว?
บริบท ฉันใช้after-make-frame-functionsเบ็ดโหลดอย่างถูกต้องในรูปแบบนั้นกำหนดค่าไคลเอ็นต์ emacs / เซิร์ฟเวอร์ โดยเฉพาะนี่คือข้อมูลโค้ดที่ฉันใช้ในการสร้าง (ตามคำตอบ SOนี้): (if (daemonp) (add-hook 'after-make-frame-functions (lambda (frame) (select-frame frame) (load-theme 'monokai t) ;; setup the smart-mode-line and its theme (sml/setup))) (progn (load-theme 'monokai t) (sml/setup))) ปัญหา เมื่อมีemacsclient -c/tเซสชั่นจะเริ่มต้นเบ็ดจะถูกดำเนินการไม่เพียง แต่ในกรอบใหม่ แต่ในทุกกรอบที่มีอยู่ก่อนหน้า (อื่น ๆemacsclientครั้ง) และมันทำให้ผลภาพที่น่ารำคาญมาก (รูปแบบที่มีการโหลดอีกครั้งในเฟรมทุกคน) ที่แย่ยิ่งกว่านั้นในไคลเอนต์เครื่องเทอร์มินัลได้เปิดสีของชุดรูปแบบเรียบร้อยแล้ว เห็นได้ชัดว่าเกิดขึ้นเฉพาะในไคลเอนต์ emacs ที่เชื่อมต่อกับเซิร์ฟเวอร์ emacs เดียวกัน สาเหตุของพฤติกรรมนี้ชัดเจน hook ถูกเรียกใช้บนเซิร์ฟเวอร์และไคลเอ็นต์ทั้งหมดได้รับผลกระทบ …

1
อย่าสร้างเฟรมด้วย ediff
โดยทั่วไปแล้วฉันไม่ชอบกรอบ ตอนนี้ฉันกำลังใช้ (setq ediff-window-setup-function #'ediff-setup-windows-plain) เพื่อให้แน่ใจว่าediffจะไม่สร้างเฟรมเมื่อเริ่มต้น อย่างไรก็ตามคำสั่งบางอย่างเช่นediff-show-registryยังคงเปิดเฟรมใหม่ มีวิธีใดบ้างที่ฉันสามารถปิดใช้งานการสร้างเฟรมได้อย่างสมบูรณ์ediffหรือไม่
14 frames  ediff 

2
“ ป๊อป” หน้าต่างเข้าไปในกรอบ
บ่อยครั้งที่ฉันหน้าต่างของฉันถูกแบ่งโดยอัตโนมัติจนกว่าฉันจะตัดสินใจเองว่าเฟรมปัจจุบันไม่มีอสังหาริมทรัพย์เพียงพอสำหรับพวกเขาทั้งหมด เมื่อสิ่งนี้เกิดขึ้นฉันจะลบหน้าต่างด้วยตนเองสร้างเฟรมและสลับไปที่หน้าต่างที่ถูกลบนั้น ฉันจะเขียนฟังก์ชัน elisp ที่ทำสิ่งนี้ได้อย่างไร ฉันเหนื่อย: (defun pop-window-into-frame () (interactive) (delete-window) (make-frame-command) (switch-to-prev-buffer)) แต่ด้วยเหตุผลบางอย่างนี้ไม่ได้ทำในสิ่งที่ฉันคิดว่ามันควร
13 window  frames 

1
เมื่อสลับบัฟเฟอร์ป้องกัน emacs จากการสลับเฟรมโดยอัตโนมัติ
เมื่อฉันสลับบัฟเฟอร์ emacs จะสลับไปยังเฟรมที่มีอยู่หากบัฟเฟอร์เปิดอยู่แล้ว ฉันพบวิธีการป้องกันเมื่อสลับกับ ido โดยใช้: (setq ido-default-buffer-method 'selected-window) แต่ก็ยังไม่เพียงพอ: สำหรับตัวอย่างถ้ามีข้อผิดพลาดเสียงกระเพื่อม emacs จะเปลี่ยนเป็นบัฟเฟอร์ * Backtrace * โดยอัตโนมัติและจะเปลี่ยนเฟรมหากเปิดอยู่ มีวิธีการป้องกัน emacs อย่างสมบูรณ์จากการเปลี่ยนเป็นเฟรมที่มีอยู่หรือไม่?

2
ย้ายบรรทัดโหมดและ minibuffer ไปด้านบน
มีวิธีใดบ้างที่ฉันสามารถย้าย line mode และ minibuffer จากด้านล่างไปด้านบนของหน้าจอ? minibuffer ถูกครอบคลุมโดยคำถามก่อนหน้าวิธีการแสดงเนื้อหาของ minibuffer ตรงกลางเฟรม emacs? ดังนั้นคำถามนี้เกี่ยวกับบรรทัดโหมดเป็นหลัก ฉันเพิ่งวางแล็ปท็อปของฉันและแตกหน้าจอจึงไม่สามารถมองเห็นได้มากตามแถวด้านล่าง

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