क्या ऑर्ग-मोड * स्क्रैच * बफर बनाना संभव है?


13

एमएसीएस में एक दस्तावेज़ पर काम करते हुए मैं अक्सर खुद को एक नया बफर खोलते हुए देखता हूं, ऑर्ग-मोड में कुछ करता हूं, ऑर्ग-मोड सामग्री की नकल करता हूं, और इसे अपने दस्तावेज़ में चिपका देता हूं। मैं ऐसा करने के लिए आवश्यक हर बार एक नया org-mode दस्तावेज़ बनाता था। अब मेरे पास एक फाइल है ~/.scratch.orgजहाँ मैं अपना काम करता हूँ।

क्या ऐसा *org-scratch*बफर बनाना संभव होगा जो बफर के अनुरूप व्यवहार करे *scratch*?


3
M-x org-modeजब आप *scratch*बफर में होते हैं तो क्या ऐसा करने में असुविधा होती है ?
xji

1
@XiangJi ने ऐसा करने के लिए सोचा भी नहीं था। बढ़िया विचार है।
ब्रायन फिट्जपैट्रिक

जवाबों:


11

*Scratch*बफर के लिए प्रारंभिक प्रमुख-मोड को चर द्वारा नियंत्रित किया जाता है initial-major-mode- मूल्य को एक प्रतीक होने की आवश्यकता होती है (जो कि आम शब्दों में इसका मतलब है कि प्रमुख-मोड नाम के सामने एक ही उद्धरण रखा गया है): http: //www.gnu। org / सॉफ्टवेयर / Emacs / मैनुअल / html_node / elisp / ऑटो-मेजर Mode.html

(setq initial-major-mode 'org-mode)

संपादित करें : मूल पोस्टर की एक टिप्पणी के आधार पर, यहाँ प्रमुख-मोड के साथ क्रमबद्ध क्रम में नॉन-फाइल-विजिटिंग बफ़र्स बनाने के लिए एक नमूना फ़ंक्शन है org-mode:

(defun my-scratch-buffer ()
"Create a new scratch buffer -- \*hello-world\*"
(interactive)
  (let ((n 0)
        bufname buffer)
    (catch 'done
      (while t
        (setq bufname (concat "*hello-world"
          (if (= n 0) "" (int-to-string n))
            "*"))
        (setq n (1+ n))
        (when (not (get-buffer bufname))
          (setq buffer (get-buffer-create bufname))
          (with-current-buffer buffer
            (org-mode))
          ;; When called non-interactively, the `t` targets the other window (if it exists).
          (throw 'done (display-buffer buffer t))) ))))

तो क्या *Scratch*तब दो बफर्स करना संभव होगा ?
ब्रायन फिट्ज़पैट्रिक

मैंने एक नमूना फ़ंक्शन जोड़ा, जो संख्यात्मक क्रम में नए गैर-फ़ाइल-विज़िटिंग बफ़र्स बनाता है, और मैंने एक org-modeपदनाम शामिल किया है। hello-worldउपयोगकर्ता की इच्छाओं को ऑपरेटिंग सिस्टम द्वारा मान्यता प्राप्त किसी भी चीज़ से नाम बदला जा सकता है - जैसे, विंडोज को एस्ट्रिस्क पसंद नहीं है।
सितबंर

बहुत ही शांत। इसे देखने के लिए धन्यवाद!
ब्रायन फिट्ज़पैट्रिक

मैं मदद करने में सक्षम होने के लिए खुश हूं। मैंने परिणाम को फेंकने का फैसला किया और बफर को एक झपट्टा में प्रदर्शित किया - कार्यक्षमता समान है, लेकिन फ़ंक्शन इस तरह से थोड़ा अधिक कॉम्पैक्ट दिखता है। :)
6

11

एक एक्सटेंशन कहा जाता है scratch, जो मोड-विशिष्ट स्क्रैच बफ़र्स बनाने की अनुमति देता है। यह MELPA से उपलब्ध है, इसलिए आपको इसे आसानी से स्थापित करने में सक्षम होना चाहिए।

इस पैकेज को स्थापित करने के साथ, जब आप org-modeबफर में होते हैं, तो आप M-xscratchस्क्रैच बफर को प्राप्त करने के लिए दौड़ सकते हैं org-mode

यदि आप एक उपसर्ग तर्क देते हैं, तो आपको मोड चुनने का अवसर मिलता है (वर्तमान में सक्रिय प्रमुख मोड का चयन करने के बजाय)।


मैंने यह कोशिश की, लेकिन मुझे लगता है कि आपके द्वारा emacs छोड़ने के बाद स्क्रैच बफर हट जाता है। मूल स्क्रैच बफर नहीं करता है, यह अपने आप भी खुद को बचाता है। क्या यह सही है या मुझे कुछ याद है?
विवि

1
जब तक आप कुछ विशेष नहीं करते हैं, मूल *scratch*बफर सत्रों में नहीं रहता है, और न ही जब आप ईमेक से बाहर निकलते हैं तो इसे सहेजा जाता है। emacs -qमानक व्यवहार प्राप्त करने के लिए, अपने init फ़ाइल द्वारा अनमॉडिफ़ाइड चलाने का प्रयास करें ।
फ़्राँस्वा फ़ेवोटे सेप

दिलचस्प है, मुझे नहीं पता था कि। मैंने अभी इसकी जांच की है और मुझे पता चला है कि यह एक्वामाक्स की एक विशेषता है। मुझे यह भी पता चला कि एक्वामाक्स एक अन्य फ्रेम में नया स्क्रैच बनाने के लिए कीबाइंडिंग कमांड-एन के साथ आता है (यह सत्रों में स्थिर नहीं है)।
विवि

2
वैसे, एमईएलपीए पर एक पैकेज है जिसे लगातार-खरोंच कहा जाता है जो लगातार खरोंच बफर बनाने का दावा करता है।
विवि

5

मुझे लगता है कि इसे प्राप्त करने का एक सरल तरीका यह है कि M-x org-modeजब आप *snatch*बफर में हों तो बस चलाएं , और इस तरह org-modeसीधे सक्षम करें। यह किसी भी प्रमुख मोड को सक्षम करने के लिए लागू किया जा सकता है।


अब तक का सबसे सरल तरीका।
15:26 पर user2699

यह निश्चित रूप से उपयोगी है। मुझे विशेष रूप से ऑर्ग-मोड के लिए समर्पित एक स्क्रैच बफर होना पसंद है क्योंकि मैं अक्सर अन्य चीजों के लिए स्क्रैच बफर का उपयोग करता हूं।
ब्रायन फिट्जपैट्रिक

2

इसे इस्तेमाल करे:

  1. Cx b (अपने नए स्क्रैच बफर के लिए एक नाम टाइप करें, जैसे "asdf")
  2. Mx org- मोड ("asdf" बफ़र प्रमुख मोड)

इस बफ़र को बंद करते समय आपको इसकी सामग्री को सहेजने के लिए कोई क्वेरी नहीं मिलेगी। यानी आपको एक उचित स्क्रैच बफर मिलता है। और *scratch*बफर बरकरार है।

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