จะทำให้การกำหนดค่า emacs เป็นโมดูลได้อย่างไร

ฉันตัดสินใจที่จะเขียน .emacs ของฉันใหม่ทั้งหมด และฉันต้องการตั้งค่าบางอย่างที่เป็นโมดูลาร์ เพื่อหลีกเลี่ยงไฟล์ init.el ขนาด 1k+ LoC ที่น่ากลัว...

ฉันคิดว่ามีข้อกังวลพื้นฐานบางประการที่การกำหนดค่าแต่ละรายการจำเป็นต้องแก้ไข:

  • ตัวเลือกระดับโลก
  • ฟังก์ชั่นการแก้ไข
  • การนำทาง (เฟรมและบัฟเฟอร์)
  • การผูกคีย์
  • การปรับแต่งโหมด

ในขณะที่ฉันยังคงพยายามคิดถึงโครงสร้างนี้อยู่ แต่ฉันกำลังมองหาคำแนะนำบางประการในการบรรลุเป้าหมายนี้
ฉันได้ดู .emacs บางส่วนบน GitHub และอะไรทำนองนั้น และดูเหมือนว่าจะมีแนวทางที่แตกต่างออกไป และ ไม่มีวิธีที่ต้องการดำเนินการนี้ ซึ่งอาจทำให้สับสนเล็กน้อย
ฉันสนใจที่จะอ่านแนวคิดบางประการเกี่ยวกับวิธีจัดโครงสร้างการตั้งค่าดังกล่าว และโดยเฉพาะโค้ด elisp ที่เกี่ยวข้องบางส่วน


แก้ไข : ติดเรื่องต่างๆ มากมาย และยังไม่มีเวลาเล่นเรื่องนี้มากนัก จะลองใช้วิธีที่เสนอในอีกไม่กี่วัน และดูว่าวิธีใดดีที่สุด ในขณะเดียวกันก็ขอขอบคุณสำหรับคำแนะนำทั้งหมด !


แก้ไข 2 : ฉันใช้ ไฟล์ init ที่มีความรู้ด้วย org-mode และมันยอดเยี่ยมมาก !
ฉันยังไม่ได้ตั้งค่ากลไกการโหลดเฉพาะ ฉันใช้โค้ดนี้เพื่อโหลดไดเร็กทอรี elisp ของฉันแบบวนซ้ำ จากนั้นจึงต้องการหรืออะไรก็ตามที่คำแนะนำในการตั้งค่าบอกไว้

  (if (fboundp 'normal-top-level-add-subdirs-to-load-path)
  (let* ((my-lisp-dir "~/.emacs.d/elisp/")
  (default-directory my-lisp-dir))
  (setq load-path (cons my-lisp-dir load-path))
  (normal-top-level-add-subdirs-to-load-path)))

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


person julien    schedule 16.01.2010    source แหล่งที่มา


คำตอบ (10)


ไฟล์ .emacs ของฉันโหลด ~/.emacs.d/init.el ซึ่งกำหนดฟังก์ชันต่อไปนี้ ซึ่งเขียนขึ้นเป็นครั้งแรกสำหรับ XEmacs แต่ทำงานได้ดีเพียงพอสำหรับ Emacs ในปัจจุบัน:

(defconst user-init-dir
  (cond ((boundp 'user-emacs-directory)
         user-emacs-directory)
        ((boundp 'user-init-directory)
         user-init-directory)
        (t "~/.emacs.d/")))


(defun load-user-file (file)
  (interactive "f")
  "Load a file in current user's configuration directory"
  (load-file (expand-file-name file user-init-dir)))

จากนั้นไฟล์ที่เหลือจะโหลดและโหลดแต่ละไฟล์จำนวนมากโดยมีรูปแบบดังนี้:

(load-user-file "personal.el")

ชุดไฟล์ปัจจุบันของฉันเป็นดังนี้:

  • ส่วนบุคคล.el
  • platform.el
  • cygwin.el
  • ตัวแปร.el
  • paths.el
  • mail-news.el
  • เบ็ดเตล็ด-funcs.el
  • bbdb.el
  • ปฏิทิน.el
  • gnus-funcs.el
  • c-และ-java.el
  • lisp.el
  • clojure.el
  • go.el
  • markdown.el
  • sgml-xml.el
  • เท็กซ์เอล
  • การสะกดคำ.el
  • org.el
  • แพ็คเกจ.เอล
  • ฟอนต์.เอล
  • color-theme.el
  • เฟรม.เอล
  • เซิร์ฟเวอร์.เอล
  • คีย์.เอล
  • aquamacs.el

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

person seh    schedule 16.01.2010
comment
เพียงสิ่งที่ฉันมุ่งเป้าไปที่ ดี. - person dmckee --- ex-moderator kitten; 17.01.2010
comment
นั่นคือเหตุผลที่ฉันมักจะมีแพ็คเกจสนับสนุนซ่อนอยู่ที่ไหนสักแห่งในโฟลเดอร์ .emacs ของฉัน - person klynch; 19.08.2010
comment
ชื่อไฟล์จะไม่ขัดแย้งกับแพ็คเกจจริงใช่ไหม หรือคุณกำลังโหลดเส้นทางแบบเต็มแทนที่จะเป็นแบบธรรมดา - person xwl; 11.06.2014
comment
สังเกตการเรียก load-file ที่แสดงด้านบน: โดยให้เส้นทางที่สร้างจากชื่อฐานไฟล์ภายใน user-init-dir กล่าวคือ แทนที่จะพยายามโหลดไฟล์แรกชื่อ markdown.el จาก load-path แต่จะโหลดไฟล์ /home/myusername/.emacs.d/markdown.el โดยเฉพาะ ฉัน>. - person seh; 11.06.2014
comment
คืนนี้ ฉันค้นพบการใช้ org-mode อย่างชาญฉลาดของ Aaron Bedra เพื่อกำหนดการกำหนดค่าของเขาให้เป็นโปรแกรมที่มีความรู้: github.com/abedra/emacs.d ดูเอกสารประกอบ org-as-HTML ที่ส่งออกได้ที่นี่: aaronbedra.com/emacs.d ฉันได้รับแรงบันดาลใจให้ลองเปลี่ยนวิธีการกำหนดค่าเพื่อใช้ไฟล์เดียวเช่นนี้ แม้ว่าฉันจะสูญเสียการติดตามการควบคุมเวอร์ชันที่แม่นยำยิ่งขึ้นไป เมื่อฉันเปลี่ยนแปลงบางสิ่งที่เกี่ยวข้องในไฟล์ใดไฟล์หนึ่งที่แสดงไว้ด้านบน ความสามารถในการเขียนเอกสารคุ้มค่าที่จะกลับการจัดเรียงเอกสารภายในโค้ดปกติหรือไม่ - person seh; 15.01.2015

หากต้องการแยกการปรับแต่งออกเป็นไฟล์ต่างๆ คุณสามารถใช้ initsplit.el นอกจากนี้ วิกิยังมีหน้าเกี่ยวกับ รูปแบบโมดูลาร์ .emacs

person Joe Casadonte    schedule 17.01.2010

คุณสามารถทำ (require 'foo) และนั่นจะโหลด "foo.el" elisp แรกที่พบในเส้นทางการโหลดของคุณ หรือ (require 'foo "/home/user/experimental/foo.el") สำหรับบางสิ่งที่อยู่นอกเส้นทางการโหลดของคุณ มันจะรายงานข้อผิดพลาดหาก "foo.el" ไม่มีนิพจน์ (provide 'foo) ในสถานการณ์ที่เลวร้าย คุณสามารถทำ (require 'foo "bar.el") ได้ และวิธีนี้จะใช้ได้ตราบใดที่ "bar.el" มีประโยค (provide 'foo)

person Justin Smith    schedule 16.01.2010

เกิดอะไรขึ้นกับการใช้ load-file

บิตเพิ่มเติมบางส่วนที่คุณอาจพบว่ามีประโยชน์ ได้แก่

  • file-exists-p
  • file-expand-wildcards

ใช้ C-h f <function> เพื่อรับความช่วยเหลือ และคุณอาจพบข้อมูลเบื้องต้นเกี่ยวกับการเขียนโปรแกรม ใน Emacs Lisp มีประโยชน์ (หรือ ดาวน์โหลดไฟล์ PDF >)

person dmckee --- ex-moderator kitten    schedule 16.01.2010

หากคุณต้องการแยก custom-set-variables ของคุณออก แต่ต้องการอะไรที่เบากว่า initsplit.el ให้ลองทำดังนี้:

(defmacro custom-set-variable (var value)
  "Call `custom-set-variables' with a warning shown
when customizing using the customize GUI.

XXX: does not support setting the optional NOW and
REQUEST (dependency) fields."
  (custom-set-variables
    ;; `load-file-name' is set by `load-file':
    ;; http://stackoverflow.com/a/1971376/470844
    `(,var ,value nil nil
      ,(format "!!! CAREFUL: CUSTOM-SET IN %s !!!" load-file-name))))

ตอนนี้ ให้วางโมดูลการกำหนดค่าของคุณในไฟล์แยกกัน และโหลดโมดูลเหล่านั้นด้วย load-file ใน ~/.emacs ของคุณ ตามที่คนอื่นๆ แนะนำ ในแต่ละโมดูลการกำหนดค่า ให้ใช้

(custom-set-variable var value)

แทน

(custom-set-variables '(var value))

or

(setq-default var value)

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

"!!! CAREFUL: CUSTOM-SET IN <path to module file> !!!"

หากคุณควบคุมเวอร์ชันของไฟล์กำหนดค่า ส่วนต่างจะบอกบรรทัด ~/.emacs ของคุณที่จะย้ายไปยังโมดูลแบบกำหนดเอง

การอภิปรายเกี่ยวกับปัญหาเกี่ยวกับการเรียก custom-set-variables หลายสายอย่างไร้เดียงสา: http://www.dotemacs.de/custbuffer.html< /ก>

แก้ไข: ตอบคำถามของอลัน

ปัญหาที่แมโคร custom-set-variable ด้านบนแก้ไขได้

อินเทอร์เฟซการปรับแต่งใน Emacs จะบันทึกตัวแปรชุดแบบกำหนดเองทั้งหมดใน ~/.emacs ทุกครั้งที่คุณแก้ไขตัวแปรชุดแบบกำหนดเอง หากคุณทำให้ตัวแปรที่ตั้งค่าแบบกำหนดเองของคุณเป็นโมดูล โดยกระจายตัวแปรเหล่านั้นไปยังไฟล์หลายๆ ไฟล์ คุณจะต้องตระหนักว่าเมื่อใดที่ emacs แทรกการตั้งค่าที่ซ้ำกันใน .emacs ของคุณ และลบออก มาโคร custom-set-variable ด้านบนช่วยให้คุณทำสิ่งนี้ได้

ตัวอย่างจริงจากไฟล์ปรับแต่งของฉัน

ฉันกำหนดตัวแปรที่เกี่ยวข้องกับช่องว่างในไฟล์ ~/.emacs.d/extensions/whitespace.el ที่โหลดโดย ~/.emacs. ตัวอย่างเช่น ฉันตั้งค่า search-whitespace-regexp ตัวแปรเช่นนี้:

(nc:custom-set-variable search-whitespace-regexp "[ \t\r\n]+")

ตอนนี้มีสองสิ่งที่เกิดขึ้น อันดับแรก เมื่อฉันเจอตัวแปรนั้นในอินเทอร์เฟซการปรับแต่ง ฉันจะได้รับคำเตือน:

คำเตือนที่สร้างขึ้นในกล่องโต้ตอบการปรับแต่งของ Emacs

ประการที่สอง ถ้าฉันแก้ไขตัวแปรใดๆ โดยใช้อินเทอร์เฟซการปรับแต่ง ~/.emacs ของฉันจะทำให้เห็นได้ชัดเจนว่าฉันได้บดบังคำจำกัดความบางอย่าง ตัวอย่างเช่น หลังจากเปลี่ยน search-whitespace-regexp และ global-whitespace-mode ในอินเทอร์เฟซการปรับแต่ง ฉันจะได้รับ:

$ svn di --diff-cmd "diff" -x "-U0" ~/v/conf
Index: /home/collins/v/conf/dot.emacs
===================================================================
--- /home/collins/v/conf/dot.emacs  (revision 267)
+++ /home/collins/v/conf/dot.emacs  (working copy)
@@ -55,0 +56 @@
+ '(agda2-include-dirs (\` ("." (\, (file-truename "~/local/opt/agda-std-lib/src")))) nil nil "!!! CAREFUL: CUSTOM-SET IN /home/collins/.emacs.d/extensions/agda.el !!!")
@@ -58,0 +60,3 @@
+ '(global-whitespace-mode t)
+ '(indent-tabs-mode nil nil nil "!!! CAREFUL: CUSTOM-SET IN /home/collins/.emacs.d/extensions/whitespace.el !!!")
+ '(indicate-empty-lines t nil nil "!!! CAREFUL: CUSTOM-SET IN /home/collins/.emacs.d/extensions/whitespace.el !!!")
@@ -72,0 +77 @@
+ '(search-whitespace-regexp "" nil nil "!!! CAREFUL: CUSTOM-SET IN /home/collins/.emacs.d/extensions/whitespace.el !!!")
@@ -74,0 +80 @@
+ '(tab-width 2 nil nil "!!! CAREFUL: CUSTOM-SET IN /home/collins/.emacs.d/extensions/whitespace.el !!!")

มาโครไม่ได้ช่วยให้ฉันจำได้ว่าฉันเปลี่ยน search-whitespace-regexp เพียงแต่ว่ามันถูกตั้งค่าไว้ที่อื่นแล้ว แต่มันช่วยให้ฉันรู้ว่าการตั้งค่าตัวแปรใดที่ฉันควรลบออกจาก ~/.emacs ของฉัน (ทั้งหมดที่มีคำเตือน) และการตั้งค่าใดที่ฉันควรทิ้งไว้ my ~/.emacs หรือย้ายไปยังไฟล์อื่นที่แยกจากกัน (ทั้งหมดโดยไม่มีคำเตือน)

บทสรุป

มาโครอาจใช้มากเกินไป แต่เมื่อมีอยู่แล้วจะใช้งานง่าย และทำให้ง่ายต่อการหลีกเลี่ยงการยิงตัวเองด้วยตัวแปรการตั้งค่าแบบกำหนดเองที่มีเงา

person ntc2    schedule 10.06.2012
comment
ดังนั้นอินเทอร์เฟซที่ปรับแต่งเองจะมีประโยชน์อะไรเมื่อคุณมีโค้ดนี้แล้ว? คุณควรจะบันทึกการเปลี่ยนแปลงของคุณผ่านทางอินเทอร์เฟซ จากนั้นจึงถ่ายโอนการเปลี่ยนแปลงที่เกิดขึ้นในไฟล์ .emacs ของคุณไปยังไฟล์ที่คุณกำหนดเอง โดยลบออกจากไฟล์ .emacs ของคุณหรือไม่ - person Alan; 02.03.2013
comment
นอกจากนี้ ฉันคิดว่าคุณกำลังบอกว่าคุณกำลังจะเปลี่ยนบางสิ่งเช่นนี้: (custom-set-variables '(column-number-mode t) '(display-time-mode t)) เป็น: (custom- set-variable column-number-mode t) (custom-set-variable display-time-mode t) จริงไหม? - person Alan; 02.03.2013
comment
@Alan: ดูตัวอย่างใหม่ด้านบน การใช้งานหลักคือการช่วยคุณหลีกเลี่ยงการตั้งค่าตัวแปรสองครั้งโดยไม่ตั้งใจในไฟล์ที่แตกต่างกันสองไฟล์ เมื่อใช้อินเทอร์เฟซการปรับแต่ง คุณสามารถทำการเปลี่ยนแปลงผ่านอินเทอร์เฟซหรือโดยตรงในไฟล์ปรับแต่งได้ แต่ในทางปฏิบัติ ฉันพบว่าอินเทอร์เฟซนั้นเป็นมิตรมากกว่า เช่น เมื่อฉันไม่รู้ว่าตัวแปรที่ฉันเปลี่ยนจะเรียกว่าอะไร ดังนั้นฉันจึงเรียกดูแบบปรับแต่ง ใช่ ฉันใช้มันเหมือนที่คุณแนะนำ - person ntc2; 03.03.2013
comment
ขอบคุณสำหรับคำอธิบายที่ชัดเจนและชัดเจนมาก ฉันเข้าใจวิธีการทำงานแล้ว - person Alan; 04.03.2013
comment
ประเด็นเกี่ยวกับการเปลี่ยนตัวเลือก ใดๆ ผ่านการปรับแต่ง UI ส่งผลให้ตัวเลือกที่กำหนดเองที่ตั้งค่าโดยทางโปรแกรม ทั้งหมด (โดยที่ custom-set-variables) ถูกทำซ้ำในไฟล์ที่กำหนดเองที่ได้รับการเสนอชื่อเป็นกุญแจสำคัญ - ฉันยังให้ความสำคัญกับประเด็นนี้ด้วย อาจให้รายละเอียดมากเกินไปที่นี่ โดยผ่านการสาธิตทีละขั้นตอนของความแตกต่าง setq กับ custom-set-variables ถ้ามันช่วยผู้คนได้: emacs.stackexchange.com/questions/55018/ - person Phil; 23.02.2020

ดู ชุดเริ่มต้น emacs ที่ยอดเยี่ยมซึ่งมีการจัดระเบียบอย่างดีมากและยังมี ELPA ด้วย แพคเกจ ฉันใช้โครงสร้างนี้เป็นแรงบันดาลใจในการตั้งค่าที่ง่ายกว่ามากของตัวเอง

person justinhj    schedule 17.01.2010

ขอขอบคุณ @JoeCasadonte สำหรับการกล่าวถึง หน้า EmacsWiki ขณะที่ฉันใช้ Debian และ Ubuntu ตัวอย่างนี้ใช้งานได้ดี (จะใส่ใน .emacs.d/init.el):

(setq dotfiles-dir (file-name-directory (or load-file-name (buffer-file-name))))

(let ((user-site-start-dir (concat dotfiles-dir "/site-start.d")))
    (debian-run-directories user-site-start-dir))

จากนั้น ฉันเพียงแค่ต้องวางไฟล์ .el ของฉันไว้ภายใน ~/.emacs.d/site-start.d (เช่น ~/.emacs.d/site-start.d/50cedet.el) และไฟล์ทั้งหมดจะถูกโหลดโดยอัตโนมัติ

person Paulo    schedule 28.12.2014

นี่คือไลบรารีที่ให้คุณติดตั้งโมดูลใหม่ได้ง่ายๆ โดยบันทึกลงในไดเร็กทอรีที่กำหนด สามารถดาวน์โหลดและติดตั้งได้จาก http://github.com/tripleee/my-site-start/

    ;;; my-site-start.el --- set up personal .emacs.d/site-start.d/
    ;;
    ;; Copyright (C) era eriksson <http://www.iki.fi/~era/> 2008-2009
    ;; License: GPL v2
    ;; Version: see `my-site-start-version' below
    ;;
    ;;; Commentary:
    ;;
    ;; The purpose of my-site-start is to simplify maintenance of user libraries.
    ;; Instead of indefinitely tweaking your .emacs, just create a site-start.d
    ;; directory and add symlinks to the libraries you want to load into Emacs.

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

ฉันเป็นผู้เขียนโค้ดนี้ และขอขอบคุณสำหรับข้อเสนอแนะ (แม้ว่าจะไม่ได้ผ่านฟอรัมสาธารณะโดยตรงก็ตาม)

person tripleee    schedule 06.08.2011

สิ่งที่ฉันทำคือสำหรับแต่ละสิ่ง X ที่ฉันอาจต้องการใช้ สร้างไฟล์ชื่อ configuration-X และใส่ require ที่สอดคล้องกันใน .emacs คุณลักษณะนี้สามารถลบออกได้โดยการแสดงความคิดเห็นหนึ่งบรรทัด

ตัวอย่างเช่น ในการเลือกวิธีที่ง่ายที่สุด (หากชื่อไม่ดีนัก) ฉันมี configuration-picture-and-artist-mode.el ไฟล์นี้ง่ายมาก:

(global-set-key (kbd "C-M-P")
                'picture-mode)

(provide 'configure-picture-and-artist-mode)

และใน .emacs:

(require 'configure-picture-and-artist-mode)

หลังจากแยกออกแล้ว ฉันไม่มีอะไรใน .emacs เลย ยกเว้นรายการ requires จำนวนมากและการเปลี่ยนแปลงเล็กน้อยใน load-path แพ็คเกจที่กำหนดสามารถลบออกได้อย่างง่ายดาย และการกำหนดค่าทั้งหมดสำหรับแต่ละแพ็คเกจอยู่ในที่เดียว

(ฉันยังมีไฟล์ .el ที่รวบรวมทั้งหมดซึ่งฉันใช้จัดเก็บสิ่งต่าง ๆ ที่ไม่มีหน้าหลักที่ชัดเจน (การเชื่อมโยงคีย์ส่วนกลาง ฟังก์ชันตัวช่วย ฯลฯ ) แต่ก็ยังต้องการหลีกเลี่ยง .emacs bit ไม่ได้เป็นโมดูลาร์มากนัก และอาจทำให้เกิดการพึ่งพาโดยนัยในแพ็คเกจที่โครงการของฉันควรจะทำให้ไม่สามารถโหลดได้อย่างง่ายดาย แต่ในทางปฏิบัติดูเหมือนจะไม่ใช่เรื่องใหญ่)

person Community    schedule 16.01.2010
comment
คุณสามารถแบ่งปันเพิ่มเติมเกี่ยวกับวิธีที่คุณเกลี้ยกล่อม 'ต้องการ' เพื่อค้นหาไฟล์ที่มีแบบฟอร์ม 'จัดเตรียม' ได้หรือไม่ คุณระบุชื่อไฟล์สำหรับอาร์กิวเมนต์ที่สองของ require หรือไม่ - person seh; 17.01.2010
comment
@seh คุณไม่จำเป็นต้องตราบใดที่ไฟล์ 'ที่ให้มา' อยู่ในเส้นทางโหลด ฉันสามารถมีไฟล์ foo.el ซึ่งฉันมี (ระบุ 'foo) หรือ (ระบุ 'foobar) หรืออะไรก็ตาม จากนั้นในไฟล์ init ของฉัน ฉันสามารถพูดได้ (ต้องการ 'foo) (หรือ foobar หรืออะไรก็ตาม) และมันจะ โหลดไฟล์. - person vedang; 17.01.2010
comment
ฉันตั้งชื่อแต่ละไฟล์ตามสัญลักษณ์ที่ให้มา ตรวจสอบให้แน่ใจว่าโฟลเดอร์ที่มีนั้นอยู่ใน load-path... และมันก็ใช้งานได้ (ฉันไม่แน่ใจในรายละเอียดโดยละเอียดของกลไกนี้ แต่ฉันสงสัยว่าต้องรู้เพียงแค่พยายามโหลดไฟล์ที่ตั้งชื่อตามสัญลักษณ์ หากไม่มีไฟล์ที่โหลดได้ให้สัญลักษณ์ที่ร้องขอไปแล้ว อย่างไรก็ตาม นี่เป็นเพียงสิ่งที่ฉัน สังเกตว่าไฟล์ elisp อื่นๆ ทำงานอยู่ ฉันก็เลยคัดลอกมันมา) - person ; 17.01.2010
comment
ขอบคุณ. วันนี้ฉันจะทดลองตั้งค่านี้ในไฟล์กำหนดค่าของฉันเอง - person seh; 17.01.2010
comment
ดู C-h f require RET สำหรับรายละเอียดเกี่ยวกับวิธีการทำงานของกลไกนั้น นอกจากนี้ ให้สังเกตอาร์กิวเมนต์ NOERROR ซึ่งอำนวยความสะดวกในการทำงานตามเงื่อนไข ขึ้นอยู่กับว่าสามารถโหลดฟีเจอร์ที่เป็นปัญหาได้หรือไม่ - person phils; 03.03.2013

คุณสามารถลอง init-loader.el เป็นตัวโหลดไฟล์การกำหนดค่า init-loader.el โหลดไฟล์การกำหนดค่าจากไดเร็กทอรีที่ระบุ ช่วยให้คุณสามารถจัดหมวดหมู่การกำหนดค่าของคุณและแยกออกเป็นหลายไฟล์ได้

สำหรับข้อมูลเพิ่มเติม โปรดไปที่ init-loader GitHub Repo

person Juanito Fatas    schedule 05.04.2013