हालांकि, यह उल्लेख किया जाना चाहिए कि ~/.emacs.d/init.el
वैकल्पिक प्रति उपयोगकर्ता init फ़ाइल के रूप में केवल Emacs 22+ भार है । एक नए लेकिन नीचे-संगत सुविधा के रूप में यह प्राथमिकता देता है ~/.emacs
। इसमें व्यवस्था की गई है lisp/startup.el
।
स्टार्टअप के बाद user-init-file
वैरिएबल में init फ़ाइल प्रभारी, जैसे /home/me/.emacs.elc
या C:\Users\Me\.emacs.d\init.el
आदि का पूर्ण पथनाम होता है। इसके मान को देखने के लिए, उसके बाद *scratch*
बफर प्रकार (insert user-init-file)
में C-x C-e
।
~/.emacs.d/
निर्देशिका वास्तव में अतिरिक्त प्रति-उपयोगकर्ता फ़ाइलों के लिए एक मानक स्थान है। पथ Emacs चर द्वारा परिभाषित किया गया है user-emacs-directory
। विंडोज के तहत यह पथ HOME
(नहीं USERPROFILE
) चर पर निर्भर करता है । उदाहरण के लिए, कब HOME
सेट किया C:\
जाएगा C:\.emacs.d
। जब Emacs चल रहा है तो मैं इस व्यवहार को एक बैच-फ़ाइल का उपयोग करके करता हूं, HOME
जो पेन ड्राइव पर एक डायरेक्टरी में सेट होता है।
इस निर्देशिका में केवल लिस्प फाइलें नहीं हैं! उदाहरण के लिए, डिफ़ॉल्ट रूप से किसी भी संपादित फ़ाइल को ~/.emacs.d/auto-save-list/
( auto-save-list-file-prefix
चर देखें ) ऑटो-सेव फीचर । इसने मुझे बैकअप-फाइलों को भी स्टोर करने के लिए प्रेरित किया:
(defvar --user-backup-directory (concat user-emacs-directory "backups"))
(if (not (file-exists-p --user-backup-directory))
(make-directory --user-backup-directory t))
(setq backup-directory-alist `(("." . ,--user-backup-directory)))
(setq make-backup-files t)
Emacs 22 से पहले ~/elisp
मेरे पास अपनी व्यक्तिगत लिस्प फाइलों के लिए एक निर्देशिका थी । अब मैं उपयोग करता हूं
(pushnew (expand-file-name "~/.emacs.d/elisp") load-path)
जैसा कि यहां बताया गया है ।
तो ~/.emacs.d
वास्तव में काफी उपयोगी है, हालांकि मैं ~/.emacs.d/init.el
संदिग्ध का विचार खोजता हूं । ~/.emacs.d/
निर्देशिका अतिरिक्त प्रति-उपयोगकर्ता फ़ाइलों के लिए एक मानक स्थान है। क्या यह अधिक समझ में नहीं आता जब Emacs ~/.emacs.d/init.el
इसके अतिरिक्त पढ़ता है ~/.emacs.el
?