หนึ่งหน้าต่างต่อโครงการ


9

ตอนนี้ฉันกำลังทำงานหลายโครงการ ฉันต้องการอินสแตนซ์เดียวของ Emacs เพื่อจัดการพวกมันทั้งหมด สิ่งที่ฉันต้องการคือพฤติกรรมที่เหมือน tmux ซึ่งทุก ๆ 'หน้าต่าง' (ในความหมายของ Emacs) สอดคล้องกับโครงการที่มีบัฟเฟอร์ของไฟล์ที่เกี่ยวข้องกับโครงการนั้น มีหน้าต่างหลายบานโดยแต่ละอันเกี่ยวข้องกับโครงการและฉันควรจะสลับไปมาระหว่างหน้าต่างทั้งสอง (คล้ายกับC-b w)

ฟังก์ชั่นนี้มีอยู่แล้วในบางรูปแบบหรือไม่? ฉันคิดว่ามันคงเจ๋งที่มีตัวเลือกอื่น:

  • เปิด Emacs หลายอินสแตนซ์
  • มีไฟล์ทั้งหมดของโครงการทั้งหมดในอินสแตนซ์เดียวซึ่งทำให้การสลับบัฟเฟอร์เจ็บปวด

2
สำหรับการจัดการโครงการคุณลองใช้มุมมองหรือไม่?
cutejumper

ลองโพสต์บล็อกนี้ในEmacs ในฐานะเทอร์มินัลมัลติเพล็กเซอร์ขั้นสูง : คุณจะมีพฤติกรรมเหมือน Tmux ฉันเพิ่งสะดุดมันนำไปใช้งานและมันทำในสิ่งที่มันโฆษณา ด้านบนคุณจะได้รับace-jump-modeในตัวเองเป็นทางออกที่ดีสำหรับการกระโดดไปรอบ ๆ อย่างรวดเร็วด้วยเคอร์เซอร์ของคุณในบัฟเฟอร์ (ถ้าคุณยังไม่ได้)

frame-bufsหากคุณมีความยินดีที่จะลงทุนบางเวลาตั้งค่าเริ่มต้นที่จะกำหนดเงื่อนไขสำหรับโครงการที่คุณสามารถจัดสรรให้พวกเขากรอบแต่ละคนและการใช้งาน ดูเพิ่มเติมวิธีการสกัดกั้นไฟล์ก่อนที่จะเปิดและตัดสินใจว่าเฟรมใด - stackoverflow.com/questions/18346785/ … - เพื่อแสดงบัฟเฟอร์ในเฟรมเป้าหมายและคุณสามารถใช้frame-buffs--add-bufferการเชื่อมโยงเพื่อเชื่อมโยงเฟรม คุณสามารถแต่งงานframe-bufsกับtabbarและเชื่อมโยง / ลบบัฟเฟอร์แบบไดนามิก: emacs.stackexchange.com/a/10112/2287
กฎหมาย

นี่คือลิงค์ไปframe-bufsยังเชื่อมโยงบัฟเฟอร์กับเฟรมเฉพาะ: github.com/alpaker/Frame-Bufs/blob/master/frame-bufs.el
กฎหมาย

@cutejumper มุมมองที่สมบูรณ์แบบ คุณสามารถเขียนมันเป็นคำตอบเพื่อที่ฉันจะได้ติ๊กถูกต้อง
sudeepdino008

คำตอบ:


7

คุณสามารถใช้เปอร์สเปคทีฟเพื่อจัดการโครงการ จาก README:

perspective.el จัดเตรียมพื้นที่ใช้งานหลาย ๆ อัน (หรือ "เปอร์สเปคทีฟ") สำหรับแต่ละเฟรมของ Emacs สิ่งนี้ทำให้ง่ายต่อการทำงานในหลาย ๆ โครงการโดยไม่หลงทางในบัฟเฟอร์ทั้งหมด

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

นอกจากนี้ยังมีโหมดเปอร์สเปคทีฟอื่นซึ่งแตกต่างจากต้นฉบับเล็กน้อย เปอร์สเปคทีฟนั้นใช้ร่วมกันระหว่างเฟรมและสามารถบันทึกสถานะไว้ในดิสก์ได้

หากคุณใช้กระสุนปืนก็มีการรวมเปอร์สเปคทีฟ


5

คุณสามารถลองใช้โหมดeyebrowseซึ่งจัดการเลย์เอาต์หน้าต่างหลายรูปแบบ (อาจซับซ้อน) คุณสามารถสลับระหว่างการกำหนดค่าหน้าต่างที่มีการกดแป้นพิมพ์เช่นและC-c C-w 1C-c C-w 2


1
Browse แชร์บัฟเฟอร์ระหว่างพื้นที่ทำงาน นั่นอาจไม่เป็นที่พึงปรารถนา
sudeepdino008

2

วิธีแก้ปัญหา "แบร์โบน" อาจใช้C-x r wเพื่อบันทึกสถานะหน้าต่างปัจจุบันและC-x r jกลับไปสู่สถานะก่อนหน้า


2

ฉันใช้แพ็คเกจที่แตกต่างกันสองชุด

สิ่งสำคัญที่สุดคือฉันใช้Projectileเพื่อทำงานกับ "โครงการ" และไฟล์ค้นหาคลุมเครือ ฉันใช้หลายเฟรมหนึ่งเฟรมสำหรับแต่ละโครงการที่ฉันกำลังทำงานอยู่ คุณจำเป็นต้องรู้C-x 5 2และC-x 5 0สร้าง / ฆ่าเฟรมจริงๆเท่านั้น การจัดการการสลับไปมาระหว่างโครงการและสำหรับการจัดเก็บการตั้งค่าสถานะของหน้าต่าง / แยกผมใช้Workgroups สำหรับ Windows (สำหรับ emacs)

ฉันชอบการตั้งค่านี้เพราะฉันสามารถแลกเปลี่ยนแพคเกจหนึ่งไปอีกแพ็คเกจหนึ่งได้

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