कैसे सेटअप डिफ़ॉल्ट खिड़कियों के प्रारंभ होने के समय?


18

हर बार जब मैं Emacs खोलता हूं तो मैं C-x 3( split-window-right) और फिर C-x2( split-window-below) करके 3 विंडो सेट करता हूं । बाद मैं प्रत्येक विंडो के लिए स्विच करने के लिए फ़ाइलों मैं संपादित करना चाहते हैं खोलने के लिए किया है।

मैं स्वचालित रूप से किया जा करने के लिए यह कैसे निर्धारित कर सकते हैं?

वहाँ Emacs एक ही स्क्रीन संगठन (विंडोज़ और फ़ाइलें) पिछले उपयोग से पुनर्प्राप्त करने का एक तरीका है?

जवाबों:


13

Emacs 24.4 के बाद से, आप उपयोग कर सकते हैं डेस्कटॉप बचाने मोड । यह उम्र के लिए Emacs का हिस्सा रहा है, लेकिन खिड़की लेआउट केवल बचाया और संस्करण 24.4 के बाद से बहाल है।

इस लाइन को अपनी इनिट फ़ाइल में जोड़ें:

(desktop-save-mode 1)

3
यह पिछले सत्र से फ़ाइलों को पुनर्स्थापित होगा, लेकिन यह खिड़की लेआउट नहीं हो जाएगी।
इसका अजायबघर

1
नहीं, मैंने इसका परीक्षण किया है। Emacs मैन्युअल : एक बार जब आप Emacs डेस्कटॉप को बचाते हैं - बफ़र्स, उनके फ़ाइल नाम, प्रमुख मोड, बफर पोज़िशन , और इसी तरह - तो बाद के Emacs सत्र सहेजे गए डेस्कटॉप को फिर से लोड करते हैं।
Sviridov अलेक्जेंडर

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

3
हां, "विंडो लेआउट" और "बफर पोजिशन" अलग चीजें हैं, आप सही हैं। लेकिन मेरा विंडो लेआउट बहाल कर दिया गया था। ऐसा लग रहा है कि एमएसीएस-स्नैपशॉट में विंडो लेआउट को सहेजना जोड़ा गया था।
स्विरिदोव अलेक्जेंडर

1
@pors, ऐसा नहीं लगता कि यदि आप टर्मिनल मोड में Emacs (24.4 या उच्चतर) का उपयोग कर रहे हैं। कोई विंडो कॉन्फ़िगरेशन सहेजा / पुनर्स्थापित नहीं किया गया है।
आसमानी

7

अपनी init फ़ाइल में उस एक के करीब एक फ़ंक्शन लिखें, आपको अपनी आवश्यकताओं को पूरा करने के लिए शायद इसे थोड़ा संशोधित करना होगा:

;; layout definition
(defun my-startup-layout ()
 (interactive)
 (delete-other-windows)
 (split-window-horizontally) ;; -> |
 (next-multiframe-window)
 (find-file "~/.emacs.d/init.el")
 (split-window-vertically) ;;  -> --
 (next-multiframe-window)
 (find-file "~/.emacs.d/init_settings.el")
 (next-multiframe-window)
 (dired "~")
)

;; execute the layout
(my-startup-layout )

वहाँ Emacs एक ही स्क्रीन संगठन (विंडोज़ और फ़ाइलें) पिछले उपयोग से पुनर्प्राप्त करने का एक तरीका है?

आपके पास लेआउट पैकेज पर एक नज़र होनी चाहिए


6

आप workgroups2अपने डेस्कटॉप को प्रबंधित करने के लिए उपयोग कर सकते हैं । GitHub पर README से:

कार्यसमूह Emacs के लिए एक सत्र प्रबंधक है।

  • यह बाद में पुनर्स्थापित करने के लिए डिस्क पर आपके सभी खुले हुए बफ़र्स, उनके स्थान और आकार को बचाता है
  • आप कई कार्यस्थान बना सकते हैं

आप ऐसे बफ़र्स को भी पुनर्स्थापित कर सकते हैं जैसे: org- एजेंडा, शेल, मैगिट-स्टेटस, मदद।

यदि आपके पास MELPA रिपॉजिटरी सक्षम है, तो आप इस पैकेज को स्थापित कर सकते हैं M-x package-install RET workgroups2 RET

मूल सेटअप है:

(require 'workgroups2)
(workgroups-mode 1) ; This should go at the end of your init file

जब आप इस कोड को अपनी init फ़ाइल में जोड़ने के बाद पहली बार Emacs को पुनरारंभ करते हैं, workgroups2तो स्वचालित रूप से आपके लिए एक कार्यसमूह बना देगा। आप यह सत्यापित कर सकते हैं कि *Messages*निम्नलिखित जानकारी के लिए बफर की जाँच करके यह सफल रहा :

Workgroups Mode: on
Switched: First workgroup
Created: First workgroup  ( -<{ 0: First workgroup }>- )

इस बिंदु से, Emacs वर्तमान में बाहर निकलने पर खिड़कियों और फ़ाइलों के वर्तमान कॉन्फ़िगरेशन को बचाएगा, और अगली बार इसे शुरू होने पर इसे पुनर्स्थापित करेगा।


2

मैं sanityinc .emacs.d के बाद मॉडलिंग की गई किसी चीज़ का उपयोग कर रहा हूँ । यह उपयोग करता है desktop-save-mode, और frame-restoreपुराने संस्करणों emacs पर उपयोग करने के लिए भी काफी स्मार्ट है । इसके लिए रीडमी frame-restoreसे package-list-packages:

सहेजें और Emacs फ्रेम के मापदंडों को बहाल।

बस frame-restore' in yourinit.el को कॉल करें :

(फ्रेम बहाल मोड)

ध्यान दें कि r113242 के बाद से अंतर्निहित डेस्कटॉप सहेजें मोड फ़्रेम को पुनर्स्थापित करेगा। यदि आप इस संशोधन के बाद बाद में Emacs स्नैपशॉट बिल्ड का उपयोग कर रहे हैं, तो आपको इसके बजाय डेस्कटॉप सहेजें मोड का उपयोग करने की दृढ़ता से सलाह दी जाती है:

(डेस्कटॉप-बचाने-मोड)

फ़्रेम रिस्टोर मोड एक बोल्ड चेतावनी प्रदर्शित करेगा यदि एमाक्स बिल्ड में सक्षम किया गया है जिसका डेस्कटॉप सेव मोड फ़्रेम को पुनर्स्थापित कर सकता है।

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