ไฟล์ init เฉพาะโครงการ


10

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

คำตอบ:


17

คุณอาจต้องการที่จะดูที่ตัวแปรสารบบ โดยทั่วไปคุณจะต้องสร้าง.dir-locals.elไฟล์ในโปรเจ็กต์รูทด้วยการตั้งค่าเฉพาะโปรเจ็กต์ในไฟล์ ตอนนี้เมื่อใดก็ตามที่คุณเปิดไฟล์ในไดเรกทอรีหรือไดเรกทอรีย่อยใด ๆ จะใช้การตั้งค่าใน.dir-locals.elไฟล์

ตัวอย่างเช่นสมมติว่าคุณต้องการใช้make package installคำสั่งคอมไพล์ในโครงการ A เท่านั้นคุณจะต้องสร้างไฟล์ชื่อ. dir-locals.el ในไดเรกทอรีรากของโครงการและเพิ่มสิ่งต่อไปนี้

((nil . ((compile-command . "make package install"))))

ต่อจากนี้ไปเมื่อใดก็ตามที่คุณเรียกใช้compileคำสั่งจากไฟล์ใด ๆ ภายใต้ไดเรกทอรี A ค่าเริ่มต้นcompile-commandจะเป็นหนึ่งที่ระบุไว้ข้างต้นอย่างไรก็ตามcompile commandสำหรับไฟล์ที่อยู่นอกไดเรกทอรี A จะไม่ถูกแตะต้อง


2

ทางเลือกที่น้อยกว่าที่โดดเด่นในการ.dir-locals.elเป็นEditorConfigมาตรฐานซึ่งมีemacs แพคเกจ ไม่รองรับตัวเลือกเกือบทั้งหมด แต่มันช่วยให้ทีมงานได้มาตรฐานในการตั้งค่าบางอย่างและใช้พวกมันข้ามบรรณาธิการต่าง ๆ

มันทำงานในลักษณะเดียวกันมากโดยมี.editorconfigไฟล์เฉพาะโครงการที่ระดับบนสุด

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