~ / .Emacs.d / init.el और ~ / emacs.d की सामग्री व्यवस्थित करें?


28
  1. जब हम ~/.emacs.d/init.elविभिन्न उद्देश्यों के लिए अधिक से अधिक लाइनें जोड़ते हैं (पायथन-मोड के लिए, एमएसीएस-एक्लेम के लिए, ...), तो फ़ाइल लंबी और कम पठनीय हो जाती है। क्या इसकी सामग्री को व्यवस्थित करने में मदद करने का कोई तरीका है?
  2. मेरा वर्तमान ~/.emacs.dइस तरह दिखता है

    $ ls *
    init.el
    
    auto-save-list:
    
    elisp:
    python-mode.el-6.1.3
    
    elpa:
    archives        auctex-readme.txt         s-20140910.334
    auctex-11.87.7  emacs-eclim-20140809.207
    
    eshell:
    history
    

    python-mode.el-6.1.3मैन्युअल रूप से स्थापित किया गया था, जबकि emacs-eclim-20140809.207द्वारा स्थापित किया गया था elpa, और मैं 100% सुनिश्चित नहीं हूं कि अन्य चीजें किसके elpa/द्वारा थीं elpa। मैं कैसे सामग्री को व्यवस्थित कर सकता हूं ~/.emacs.d/?

जवाबों:


32

कम संपादकों का उपयोग करने वाले लोग अपने कोड को कई फ़ाइलों में विभाजित करना पसंद करते हैं। यदि आप Emacs का उपयोग कर रहे हैं, तो ऐसा करने का कोई कारण नहीं है: बस एक बड़ी फ़ाइल का उपयोग करें, जिसे आप अनुभागों में विभाजित करते हैं।

प्रत्येक अनुभाग के साथ शुरू होना चाहिए

^L
;;; title of the section

जहाँ आप ^Lटाइप करके चरित्र डालें C-q C-l। फिर आप फ़ाइल के माध्यम से नेविगेट करने के लिए जैसे C-x ]( forward-page) या C-x n p( narrow-to-page) कमांड का उपयोग कर सकते हैं । अधिक के लिए Emacs मैनुअल की धारा 25.4 (पृष्ठ) देखें ।


16
कई फ़ाइलों में कोड को विभाजित करने का कोई विशेष कारण भी नहीं है । यह इस बात पर निर्भर करता है कि आप सामान की समूहीकरण का क्या मतलब चाहते हैं - आप इसे कैसे व्यवहार करना चाहते हैं। और यह इस बात पर निर्भर कर सकता है कि लार्स कितना बड़ा है। और यह इस बात पर निर्भर कर सकता है कि आपके कोड के टुकड़े दूसरों के साथ साझा किए जाते हैं, उदाहरण के लिए, पुस्तकालयों के रूप में।
ड्रू

2
@ ड्रू की टिप्पणियों पर पिग्गीबैकिंग करते हुए, उपयोगकर्ता अलग-अलग emacs संस्करणों और वातावरणों के लिए अलग-अलग कॉन्फिगर करना चाहते हैं और तदनुसार प्रासंगिक इस्लील लोड कर सकते हैं। उस ने कहा, मुझे पेजेंटिंग टिप पसंद है।
हार्वे

3
@ हाईवे: पाठ को व्यवस्थित करने के लिए अलग-अलग फ़ाइलों का पेजिनेशन और उपयोग स्वतंत्र तरीके हैं। आप स्पष्ट रूप से दोनों का उपयोग कर सकते हैं। मैं अपने सभी पुस्तकालयों में, अलग-अलग वर्गों के लिए पृष्ठांकन का उपयोग करता हूं। लेकिन मेरे पास अलग-अलग लाइब्रेरी (फाइलें) भी हैं।
ड्रयू

1
@jch यदि आप इस शैली का उपयोग कर रहे हैं, तो आप अनुभागों और कार्यों को मोड़ने की अनुमति देने के लिए आउटलाइन माइनर मोड या इसी तरह की सुविधा को भी सक्षम करना चाह सकते हैं। सभी शीर्ष-स्तरीय शीर्षों को तह करना आपके Emacs कॉन्फ़िगरेशन में सभी अनुभागों का एक अच्छा अवलोकन देता है।
चंद्रांक

@lunaryorn, मैंने कोशिश की है, लेकिन मैंने इसे विचलित करने वाला पाया है - मुझे पेज आंदोलन के लिए पर्याप्त समय मिल रहा है, मुझे केवल कभी-कभी संकीर्ण होने की आवश्यकता है। शायद मेरी .emacsऔर .wlकाफी लंबी नहीं हैं।
jch

20

ऐसा करने का एक क्लासिक तरीका आपके .emacsअलग-अलग फ़ाइलों में विभाजित हो रहा है। उदाहरण के लिए, आप अपनी सभी वेब सामग्री को इसमें स्थानांतरित कर सकते हैं ~/.emacs.d/web-config.elऔर फिर इसे अंदर लोड कर सकते हैं init.el:

(load "~/.emacs.d/web-config.el")

यदि आप अपने को ~/.emacs.dथोड़ा और व्यवस्थित रखना चाहते हैं , तो आप इन कॉन्फिग फाइलों को अपनी निर्देशिका में भी स्थानांतरित कर सकते हैं:

(load "~/.emacs.d/config/web.el")

अब आप अपने विन्यास में बदलाव करते समय केवल उचित फाइल पर जा सकते हैं।

इसमें से एक चीज़ जो अनुपलब्ध है वह है कस्टमाइज़्ड सिस्टम के माध्यम से निर्धारित चर। ये सभी अभी भी आपके मुख्य init.el में होंगे। जाहिरा तौर पर, एक छोटी सी उपयोगिता है जिसे इनिट स्प्लिट कहा जाता है जो आपको नियम बनाता है जिसके बारे में कस्टमाइज़िंग सेटिंग कहाँ जाती है, लेकिन मैंने कभी भी इसका उपयोग नहीं किया है। वैकल्पिक रूप से, "अनुकूलित" प्रणाली को अपनी सेटिंग्स में संशोधन के लिए एक अलग फ़ाइल का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है। custom-fileचर को यह निर्दिष्ट करने के लिए सेट करें कि "अनुकूलित" सेटिंग को कहां से पढ़ा और लिखा जाना चाहिए

जहाँ तक निर्देशिका ही जाती है, मैं हमेशा डिफ़ॉल्ट लेआउट से खुश रहा हूँ। मेरे द्वारा किया गया मुख्य परिवर्तन मेरे सभी कस्टम पैकेजों और पुस्तकालयों के लिए एक निर्देशिका बना रहा था जो कि प्रबंधित नहीं हैं package.el। यह मेरे रिवाज के लिए एक एकल घर देता है जो कॉन्फ़िगरेशन से संबंधित नहीं है।


धन्यवाद। (1) संकुल और पुस्तकालयों के लिए निर्देशिका क्या है जो कि पैकेज द्वारा प्रबंधित की जाती है। (२) क्या डायर की सामग्री का elpaप्रबंधन किया जाता है elpa? क्या मैं उन्हें कहीं और स्थानांतरित कर सकता हूं?
टिम

2
आप चर सेट करके कस्टमाइज़ चर के लिए एक अलग फ़ाइल निर्दिष्ट कर सकते हैं custom-fileस्रोत
कौशल मोदी

@ समय: पैकेज द्वारा प्रबंधित निर्देशिका। एलपा है। एल्पा एक लिस्प पैकेज नहीं है, यह एक पैकेज रिपॉजिटरी है। Package.el अभी भी सभी पैकेजों को जोड़ देगा जो इसे इंस्टॉल करता है (जैसा कि यह elpa से या किसी अन्य रिपॉजिटरी से होता है --- उदाहरण के लिए, आपके मामले में, मुझे नहीं लगता कि डायरेक्टरी elpa में eclim और s elpa से हैं)। और हां, आपको इस निर्देशिका की सामग्री के बारे में चिंता करने की आवश्यकता नहीं है।
टी। वेरॉन

(अब और नहीं संपादित कर सकते हैं) जो मैंने ऊपर लिखा है वह कड़ाई से सच नहीं है: एल्पा पैकेज अभिलेखागार का प्रारूप है, package.el पैकेज मैनेजर है। उपयोगकर्ता के लिए, दोनों के बीच कोई वास्तविक अंतर नहीं है। जीएनयू एल्पा के साथ गलतियों से ऊपर मेरी टिप्पणी, जो उपलब्ध एल्पा पैकेज (और एकमात्र आधिकारिक एक) में से एक है।
टी। वेरॉन

16

यदि आपको ऑर्ग-मोड पसंद है, तो आप इसे .emacsबिना विभाजन के व्यवस्थित करने के लिए उपयोग कर सकते हैं । मेरे वर्तमान कॉन्फ़िगरेशन के तहत मेरी .emacsफ़ाइल में मेरे पास एक init.org फ़ाइल है~/.emacs.d/init/init.org

(require 'org)

;; Load the actual configuration file
(org-babel-load-file
  (expand-file-name (concat user-emacs-directory "init/init.org")))

अलग-अलग फ़ाइलों का उपयोग करके आपको किसी चीज़ की खोज करने के लिए grepसरल के बजाय C-s, और इसी तरह की आवश्यकता होती है। इसके अलावा, अपने संगठन में कई स्तरों को जोड़ना आसान है।


1
मैं वर्तमान में ऐसा करने की प्रक्रिया में हूं, हालांकि मैंने उपयोग करने के लिए नहीं सोचा था org-babel-load-file। मिठाई! (उदाहरण: github.com/vermiculus/dotfiles/blob/... , github.com/larstvei/dot-emacs )
शॉन Allred


9

बस कोड के टुकड़ों init.elको अलग-अलग फाइलों (पुस्तकालयों) में स्थानांतरित करें , जो तब आप require। (डी का उपयोग करने provideके लिए पुस्तकालयों में require।) उन फ़ाइलों को रखें जहाँ आप चाहते हैं, और load-pathतदनुसार अद्यतन करें ।


धन्यवाद। (1) उदाहरण के लिए? (२) आप ~ / .emacs.d / को व्यवस्थित करने के लिए क्या सुझाव देते हैं?
टिम

1
आपके द्वारा "की सामग्री को व्यवस्थित करने का क्या मतलब है ~/.emacs.d/? आप जो चाहते हैं उसकी कोई विशिष्टता प्रदान नहीं करते हैं। आप एक निर्देशिका में होने के लिए विवश नहीं हैं। आप अपनी पसंद के load-pathअनुसार कहीं भी सामान रख सकते हैं, और उसके अनुसार संशोधित कर सकते हैं । यदि कुछ प्रोग्राम / टूल केवल डालता है। में सामान ~/.emacs.d/(यानी, यदि आप यह नहीं बता सकते हैं कि सामान कहां रखा जाए), तो इसे उस स्थान पर ले जाएं जहां आप इसे उस प्रोग्राम / उपकरण के बाद चाहते हैं।
ड्रू

1
"उदाहरण के लिए" से आपका क्या तात्पर्य है? ऐसा क्या है जो आप एक उदाहरण चाहते हैं? (require 'foobar)उपयोग करने का एक उदाहरण है require(add-to-list 'load-path "/my/lisp/dir")संशोधन का एक उदाहरण है load-path(provide 'foobar)उपयोग करने का एक उदाहरण है provide
आकर्षित किया

द्वारा "~ / .emacs.d / की सामग्री को व्यवस्थित करें, मैं, एक मानव के रूप में, इसे बेहतर ढंग से समझ सकता हूं, समझने के लिए emacs के लिए नहीं। यह एक आदत है, जैसे आपके कैबिनेट, ड्रॉअर, बुकशेल्व्स को व्यवस्थित करना। उदाहरण के लिए, अजगर। -mode.el-6.1.3 मैन्युअल रूप से स्थापित किया गया था, जबकि emacs-eclim-20140809.207 elpa द्वारा किया गया था। क्या वे दोनों पैकेज हैं? यदि वे हैं, तो क्या उन्हें ~ / .emacs.ds.d के एक उपनिर्देशिका के तहत रखना एक अच्छा विचार है। /?
टिम

आप ऐसे मानव हैं जो इस बात का उत्तर दे सकते हैं कि कौन सी संस्था आपको इसे बेहतर ढंग से समझने में मदद कर सकती है। (Emacs को कुछ भी समझ नहीं आता है।) आपको जो भी फ़ोल्डर संरचना पसंद है, उसका उपयोग करें। उन्हें अलमारियाँ, दराज़, बुकशेल्व, या केवल फ़ोल्डर कहें। और फिर, अपने init.elपुस्तकालयों को कहीं भी लोड कर सकते हैं , न कि केवल भीतर ~/.emacs.d/
ड्रू

7

मैं Emacs Wiki: Load directory पर पाए जाने वाले targzeta के सुझाव का उपयोग करता हूं ।

मूल रूप से मेरे पास एक ~ / .emacs.d / load-directory.el है:

;;;; ~/.emacs.d/load-directory.el

;; Handy function to load recursively all '.el' files in a given directory
(defun load-directory (directory)
  "Load recursively all '.el' files in DIRECTORY."
  (dolist (element (directory-files-and-attributes directory nil nil nil))
    (let* ((path (car element))
           (fullpath (concat directory "/" path))
           (isdir (car (cdr element)))
           (ignore-dir (or (string= path ".") (string= path ".."))))
      (cond
       ((and (eq isdir t) (not ignore-dir))
        (load-directory fullpath))
       ((and (eq isdir nil) (string= (substring path -3) ".el"))
        (load (file-name-sans-extension fullpath)))))))

तब मैंने अपने ~ / .emacs.d / config में अलग-अलग फाइलें डालीं:

~/.emacs.d/config ls
01-packages.el  02-style.el  03-modes.el  04-keybindings.el  05-functions.el

और अंत में मेरे पास यह है ~ / .emacs.d / init.el:

;; Load all ".el" files under ~/.emacs.d/config directory.
(load "~/.emacs.d/load-directory")
(load-directory "~/.emacs.d/config")

हम चाहते हैं कि हम केवल एक लिंक की तुलना में अधिक जानकारी प्रदान करें - उदाहरण के लिए, उस लिंक पर एक सारांश विवरण।
आकर्षित किया

आप सही हैं, मैंने अपना उत्तर संपादित किया।
बोकापार्टा-आईटी

हम्म। एक शिष्टाचार के रूप में, कम से कम, आपको शायद यह कहना चाहिए कि आपने जिस कोड को शब्दशः स्वाइप किया था, वह तारगेटा द्वारा लिखा गया था । क्रॉस-रेफ़र किए गए पृष्ठ को सारांशित करने का अर्थ यह नहीं है कि इसकी सामग्री को ख़त्म करना है। (बेशक, अगर आप तारगेट्टा हैं, तो शायद कोई समस्या नहीं है।)
ड्रू

आप फिर से सही हैं, संपादित। धन्यवाद।
बोकापार्टा-आईटी

धन्यवाद। (मुझे पता है कि इसे सही करने में थोड़ा समय लगता है, लेकिन यह हर किसी को थोड़ा और मदद करता है।)
ड्रू

5

स्पष्ट रूप से इस विशेष बिल्ली की त्वचा के लिए एक से अधिक तरीके हैं। मेरा वर्तमान पसंदीदा आउटलेस केoutline-minor-mode साथ उपयोग करना है । अंश:

;; * This here is my emacs init file
;; ** Many subsections with headlines like this one omitted
;; ** Customising modes
;; […] more lines omitted
;; *** Org and outline modes
(autoload 'outshine-hook-function "outshine")
(add-hook 'outline-minor-mode-hook 'outshine-hook-function)
;; […] and more
;; * Emacs Magic
;;; Local Variables:
;;; mode: emacs-lisp
;;; coding: utf-8
;;; mode: outline-minor
;;; fill-column: 79
;;; End:

ध्यान दें कि आपको अपने पसंदीदा पैकेज रिपॉजिटरी से आउटसाइड प्राप्त करने की आवश्यकता होगी।


1
मैंने आउटलाइन-माइनर-मोड के साथ शुरुआत की, लेकिन कीबाइंडिंग को बहुत दर्दनाक पाया, और कभी भी अपने बारे में कुछ भी करने का समय नहीं मिला। इसलिए मैं ऑर्ग-मोड की खोज के बाद ऑर्गस्ट्रक्ट-मोड में चला गया, लेकिन तब मुझे आउटरीच के बारे में पता चला। परमानंद! मैं वर्तमान में अपने सभी प्रमुख मोड के साथ elisp, लेटेक्स और अन्य फ़ाइलों की अपनी सभी संरचना के लिए आउटलाइन + आउटसाइड का उपयोग करता हूं, और सभी प्रकार के नोटों के लिए org-mode।
हेराल्ड हैन्च-ऑलसेन

2

मैं पैकेज और फ़ाइलों का ट्रैक रखने के लिए निम्न संरचना का उपयोग करता हूं

~/.emacs.d
|-- elpa            ;; Package.el packages
|-- hack            ;; Development versions of packages (e.g. org, personal packages)
|-- single-lisp     ;; Individual lisp files from outside sources (e.g. EmacsWiki)
|-- site-lisp       ;; Lisp packages not managed by package.el (directories)
|-- user-config     ;; Machine/situation specific customization (work vs home)
|   `-- custom.el   ;; Customization settings
|-- lisp            ;; Individual .el files to keep init.el clean
|   `-- defaults.el ;; Default configuration settings
`-- init.el

मैं तब use-packageप्रबंधन करता हूं कि कौन से पैकेज लोड किए गए हैं और प्रत्येक पैकेज के लिए कौन से अनुकूलन निर्धारित हैं। अधिकांश समय केवल hackऔर elpaअपडेट करने की आवश्यकता होती है, अन्य फ़ोल्डर अक्सर एक-बंद पैकेज के लिए होते हैं जिन्हें मैं संक्षेप में परीक्षण या उपयोग करना चाहता हूं लेकिन लोड करने की आवश्यकता नहीं है (यहां तक ​​कि मूर्खतापूर्ण)।

custom.el कस्टमाइज़ सेटिंग्स के लिए है, जिसे मैं उपयोग नहीं करना चाहता (और अगर मैं उपयोग नहीं करता तो भी संस्करण नहीं करता)।

defaults.elसामान्य कॉन्फ़िगरेशन (मेनू-बार, फ़ॉन्ट, एन्कोडिंग, आदि) के लिए है जो तब किसी भी .el फ़ाइल में अधिलेखित किया जा सकता है user-config/एक सिस्टम की अनुमति देने के लिए जो मैं उम्मीद करता हूं कि काम करेगा, लेकिन पर्यावरण को फिट करने के लिए समायोजित किया जा सकता है।

मैं पहले रखने की कोशिश की थी functions, macros, adviceअलग संकुल में सामग्री के बीच चित्रण के लिए अनुमति देने के लिए, लेकिन परिभाषा में भाग / आवश्यकता मुद्दों इसलिए में उन वापस डाल दिया है init.el। अंततः उन्हें वापस रखा जा सकता है ~/.emacs.d/lisp/

मैं init.elसुव्यवस्थित रखने की कोशिश करता हूं , फ़ंक्शन और उद्देश्य से सामग्री को सॉर्ट करता हूं ताकि इसे फिर से खोजना सीधा हो। मेरे पास मोनोलिथिक init.elफ़ाइल थी और अंत में नई सामग्री जोड़ते रहे (या जहां मुझे लगा कि यह फिट हो सकता है) और फिर अंत में यह जानना नहीं होगा कि मैंने क्या जोड़ा था या मैंने इसे कहाँ जोड़ा था जब मैं इसे देखने के लिए गया था (और कभी-कभी खोज का उपयोग isearchकरने से मदद नहीं मिली क्योंकि मुझे याद नहीं था कि मैंने उस समय चीजों का नाम कैसे रखा था)।


2

सभी मौजूदा उत्तर मैन्युअल रूप से बनाई गई फ़ाइलों, जैसे init.elऔर दोस्तों के आयोजन के लिए सर्वोत्तम प्रथाओं को संबोधित करते हैं । समान रूप से महत्वपूर्ण सभी पैकेजों से स्वचालित रूप से बनाई गई फ़ाइलों का संगठन है, और इसके लिए पैकेज no-litteringउत्कृष्ट है।


1

मैंने कहा

  (when (string= (buffer-name) "init.el")
    (setq imenu-generic-expression
      '((nil "^;; \\[ \\(.*\\)" 1))))

emacs- लिस्प-मोड-हुक के लिए। फिर फ़ाइल अनुभागों में "yasnippet", "पैकेजिंग", "जावा मोड" आदि को जोड़ें। यह मेरे 1000 लाइनों के कोड के लिए अच्छा काम करता है (टिप्पणियाँ शामिल हैं)।

संपादित करें: अंत में मैं पतवार-इमेनू के साथ वर्गों के बीच स्विच करता हूं। वास्तव में पतवार सामान्य imenu समारोह में स्वचालित रूप से हुक इसलिए मैं सभी की जरूरत है

       (local-set-key (kbd "C-*") 'imenu)

आप हुक के बजाय फ़ाइल स्थानीय चर का उपयोग कर सकते हैं।
यंगफ्रॉग

1

मैंने अपनी अपेक्षाकृत छोटी .emacsफ़ाइल को तीन भागों में विभाजित किया है :

  • emacs-custom.el अनुकूलन के लिए, भारी और बेकार डेटा बाहर ripping; फ़ाइल स्वचालित रूप से मुख्य .emacs फ़ाइल को छूने के बिना फिर से लिखी जाती है , जिससे स्थानिक परिवर्तन को रोका जा सकता है।

    (setq custom-file "~/.emacs-custom.el")
    (load custom-file)
    
  • कॉन्फ़िगरेशन के बजाय कोड के लिए lg-lib.el : संकुल निर्देशिका से बजाय गैरमानक स्रोत स्थानों से अपने स्वयं के पुस्तकालयों को लोड करना और विभिन्न कार्यों को परिभाषित करना (ज्यादातर एक उचित पैकेज के अभाव में कॉपी और हैक किया गया); यह .emacs लाइन काउंट की एक और बड़ी कमी है ।

    (load "~/lg-lib")
    
  • मुख्य .emacs फ़ाइल: भारी कोड और भारी अनुकूलन चर के बिना, इसमें requireपैकेज के लिए कॉल होते हैं, चर जो कस्टमाइज़ सिस्टम का हिस्सा नहीं होते हैं, और पैकेज को लोड करने और आरंभ करने के लिए फ़ंक्शन फ़ंक्शन कॉल होते हैं। मैं एक ही पैकेज या फ़ीचर से संबंधित सभी पंक्तियों को ध्यान से रखकर इसे "व्यवस्थित" करता हूं, और पैकेज लोडिंग और पैकेज से संबंधित सेटिंग्स को "कोर" कार्यक्षमता से अलग कर रहा हूं। एक काफी प्रतिनिधि अंश:

    (require 'ido)
    (ido-mode t)
    
    (require 'auto-complete)
    (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
    
    (require 'auto-complete-config)
    (ac-config-default)
    (global-auto-complete-mode t)
    

    ये खंड छोटे हैं, लेकिन वे प्रत्येक पैकेज के लिए कॉन्फ़िगरेशन की कई और लाइनों के साथ प्रबंधनीय बने रहेंगे।


1

Emacs मास्टर के सेटअप का पालन करें, जैसे, https://github.com/purcell/emacs.d

उदाहरण के लिए, मैन्युअल रूप से स्थापित पैकेज और ELPA से स्थापित पैकेज को व्यवस्थित करने के तरीके के बारे में, स्टीवन पर्सेल के सेटअप में है

a place for 3rd party code which isn't available in MELPA or other
package repositories. This directory and its immediate
subdirectories will be added to load-path at start-up time.

Notably, in Emacs 23.x, a backported package.el is automatically
downloaded and installed here

गुरु का पालन क्यों करें? मेरे "मास्टर ईमेक इन वन ईयर" का एक प्रमुख बिंदु यह है कि newbies इस प्रकार कुशलतापूर्वक सेटअप ओवरहेड और "गोचैस" से बच सकते हैं।

मैं समझता हूं कि बहुत से लोग मुझसे सहमत नहीं हैं, लेकिन यहां मेरा मामला है ( मेरे लेख में विस्तृत ):

मैंने पुरसेल के सु-सम्मानित ( 1403 गितहब सितारों को नवंबर 2014 तक), स्थिर (विकास में 5 साल) विन्यास का उपयोग करके एमएसीएस का उपयोग करना शुरू कर दिया । उस से शुरू करने के बावजूद, मुझे अभी भी कई समस्याएं थीं । स्टीव पुरसेल ने मुझे उन सभी समस्याओं को हल करने में मदद की। (मैं वास्तव में एक वर्ष से अधिक समय के लिए उनका पदवान बन गया ।) अपने सेटअप का उपयोग करके, और समस्याओं को रिपोर्ट करने के लिए अपने रेपो के मुद्दों का उपयोग करके, और अपने अनुभव का लाभ उठाते हुए, मैंने बहुत समय बर्बाद करने से बचा लिया। आज भी, मैं अभी भी कई लोगों git submoduleको तृतीय-पक्ष प्लगइन्स का प्रबंधन करने के लिए उपयोग करता हूं । स्टीव और मैंने दोनों को इसके लिए उपयोग करना छोड़ दियाgit submodule क्योंकि यह ऐसा PITA हो सकता है ।

लेकिन अगर आप अपने कौशल के बारे में बहुत आश्वस्त हैं या आप सेल्फ-लर्निंग पसंद करते हैं, तो यह आपके लिए रास्ता नहीं है।


2
" मास्टर से सेटअप क्लोनिंग ": आपके द्वारा संदर्भित संदर्भों के विशिष्ट संबंध के बिना, जो अद्भुत सुविधाएँ या सलाह प्रदान कर सकते हैं (मैंने जाँच नहीं की है), मैं सामान्य रूप से असहमत हूं कि लोगों को दूसरों से आईआईटी फ़ाइलों या अन्य सेटअपों को क्लोन करके शुरू करना चाहिए। यह भी स्पष्ट रूप से हतोत्साहित नीति, IIRC है, क्योंकि यह समस्याओं को जन्म दे सकता है। स्क्रैच से शुरू करने और (और यहां तक ​​कि समझ के बारे में भी बेहतर हो!), जो भी आप मूल सेटअप के रूप में उपयोग करते हैं। बेशक दूसरों ने जो किया है, उससे अध्ययन और सीखने में कुछ भी गलत नहीं है। लेकिन इनिट फ़ाइलों को नेत्रहीन कॉपी करना उचित नहीं है। (सिर्फ एक राय।)
ड्रू

1
वास्तव में, मैं अपना लेख लिखता हूं क्योंकि अभी भी बहुत से लोग मानते हैं कि उन्हें सेटअप पर खरोंच से शुरू करना चाहिए। यह अधिकांश लोगों के लिए सबसे अच्छा तरीका नहीं है, जैसा कि मैंने देखा, और अनावश्यक रूप से newbies के लिए कठिन तरीका है। बस खोज
बिन

1
यह है " ज्यादातर लोगों के लिए सबसे अच्छा तरीका है ।" बस किसी और की इनिट फ़ाइल का उपयोग करके शुरू करने के खिलाफ चर्चा और सलाह की खोज करें । खोज help-gnu-emacs@gnu.org, और www.emacswiki.org, और emacs-devel@gnu.org, और यहां तक ​​कि debbugs.gnu.org। उस ने कहा, एक init फ़ाइल साझा करने में कुछ भी गलत नहीं है, दूसरों को विचार के लिए भोजन के रूप में सेवा करने के लिए। सलाह यह है कि newbies इस तरह से शुरू न करें; सलाह यह है कि लोग अपने स्टार्टअप दृष्टिकोण और युक्तियों को साझा न करें।
आकर्षित किया

1
यह "उत्तरजीविता पूर्वाग्रह" के कारण है। बहुत से लोग एमाक्सिविकी या मेलिंग सूची जानने से पहले छोड़ देते हैं।
चिन बिन

0

अपने .emacs.dफ़ोल्डर को साफ करने का एक अभिनव और सरल तरीका org-modeस्रोत ब्लॉक का उपयोग करके सब कुछ उपयोग करना और रूपरेखा करना है। फिर, अपनी .emacsफ़ाइल में, अपने को इंगित करें config.org

इस पर एक अद्भुत संसाधन हैरी श्वार्ट्ज है। उनके पास एक यूट्यूब वीडियो है जो छूता है और एक ब्लॉग पोस्ट है जो विवरणों की व्याख्या करता है । मैं इसे emacs noob के रूप में फॉलो करने और सभी सेटअप प्राप्त करने में सक्षम था। एक जादू की तरह काम करता है। मेरे पूरे के लिए 1 फ़ाइल init

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.