पिछले सत्र से Emacs की विंडो और बफ़र्स को कैसे पुनर्स्थापित करें?


4

पिछले सत्र से Emacs की विंडो और बफ़र्स को कैसे पुनर्स्थापित करें?

जो व्यवहार मैं चाहता हूं वह वेब ब्राउज़र में ऐसा है कि आप पिछले सत्र से सभी टैब को पुनर्स्थापित कर सकते हैं।


1
इस प्रश्न का उत्तर देखें ।
टॉम

जवाबों:


1

अपने अंतिम Emacs सत्र की स्थिति को स्वचालित रूप से पुनर्स्थापित करने के अलावा , आप किसी भी सत्र के किसी भी सत्र को सहेज सकते हैं और किसी भी अन्य सत्र में किसी भी समय मांग पर उन्हें पुनर्स्थापित कर सकते हैं। IOW, आप आसानी से विभिन्न डेस्कटॉप के बीच स्विच कर सकते हैं ।

इसका सबसे आसान तरीका पुस्तकालय बुकमार्क + को लोड करना और C-x r Kवर्तमान सत्र स्थिति को डेस्कटॉप बुकमार्क के रूप में सहेजने के लिए कुंजी का उपयोग करना है। फिर आप कुंजी का उपयोग करके किसी भी सत्र में किसी भी डेस्कटॉप बुकमार्क को पुनर्स्थापित कर सकते हैं C-x j K


2

अपनी .emacs फ़ाइल और प्रकार (डेस्कटॉप-सेव-मोड 1) पर जाएं, यह सभी वर्तमान बफ़र्स को "डेस्कटॉप" फ़ाइल में सहेज देगा, यह आपके फ़्रेम के वास्तविक लेआउट को नहीं बचाएगा लेकिन आप इसके लिए "रजिस्टर" में देख सकते हैं।


1

इसे करने के लिए यहां कुछ कोड दिए गए हैं। काम करने के लिए कोड के लिए, आपको "टेपेस्ट्री" लिस्प पुस्तकालय स्थापित करने की आवश्यकता है। यदि आप VM मेलर का उपयोग करते हैं, तो आपके पास पहले से ही लाइब्रेरी स्थापित है। अन्यथा आप इसे यहाँ से डाउनलोड कर सकते हैं

अपने .emacs फ़ाइल में निम्न कोड डालें। जब आप अपने पिछले Emacs सत्र से अपनी विंडो और फ़्रेम सेटअप को पुनर्स्थापित करना चाहते हैं, तो टाइप करें M-x load-my-tapestry RET

(require 'tapestry)

(defvar my-tapestry-file "~/.tapestry")

(defun load-my-tapestry ()
  (interactive)
  (let ((b (find-file-noselect my-tapestry-file)))
    (sit-for 0)
    (set-tapestry (read b))
    (kill-buffer b)))

(defun save-my-tapestry ()
  (interactive)
  (let ((tap (tapestry)))
    (with-temp-buffer
      (let ((standard-output (current-buffer)))
        (setcar tap (make-list (length (car tap)) nil))
        (print tap)
        (write-region (point-min) (point-max) my-tapestry-file)))))

(add-hook 'kill-emacs-hook 'save-my-tapestry)

जब मैं करता हूं M-x load-my-tapestry RET, मैं केवल (New file) set-tapestry: End of file during parsingमिनी-बफर में मिला हूं और एमएसीएस विंडो में कुछ भी लोड नहीं किया गया है।
क़ज़वेक्स

M-x save-my-tapestryएक बार चलाएं और प्रक्रिया बूटस्ट्रैप की जानी चाहिए।
काइल जोन्स 21

किया था; तब यह let: Wrong type argument: listp, configअब मिनी बफर में त्रुटि देता है।
क़ज़वेक्स

हम्म, configमेरे उत्तर कोड या टेपेस्ट्री.एल में कोई चर नहीं है । (सेट डिबग-ऑन-एरर टी) और स्टैकट्रेस प्राप्त करें। यह इंगित करना चाहिए कि त्रुटि कहां हो रही है।
काइल जोन्स 21

वास्तव में जब मैं इसे पुनर्मिलन करता हूं, मुझे set-tapestry: End of file during parsingफिर से त्रुटि मिलती है । मैंने एक Emacs सत्र खोला, दो फ्रेम खोले और उनमें से प्रत्येक में दो अलग-अलग फाइलें लोड कीं, फिर M-x save-my-tapestryउसे बंद कर दिया। Reopen Emacs, फिर करते हैं M-x load-my-tapestry RET, यह दिया set-tapestry: End of file during parsing
क़ज़ेवेक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.