प्रश्न: मैं बिना किसी सूचना के बफर में टेक्स्ट कैसे प्रविष्ट / संशोधित कर सकता हूँ undo?
यहाँ उपयोग मामला है। मेरे पास प्रत्येक फ़ाइल के प्रारंभ में एक टिप्पणी ब्लॉक है, जो अन्य चीजों के अलावा, फ़ाइल के सबसे हाल के परिवर्तन के लिए टाइमस्टैम्प को अपडेट करता है। मैं undoसुविधाओं के बिना उस टाइमस्टैम्प को संशोधित करने में सक्षम होना चाहता हूं ।
मैं undoयहां शॉर्ट-सर्किट का कारण चाहता हूं कि निम्नलिखित एज केस के कारण है, जो लाटेक्स दस्तावेजों को संपादित / संकलित करते समय आता है (और शायद अन्य, लेकिन यह वह है जो मुझे सबसे अधिक बार पागल करता है):
- यह देखने के लिए फ़ाइल में एक छोटा सा बदलाव करें कि यह संकलित डॉक को कैसे प्रभावित करेगा
- फ़ाइल सहेजें (जो टाइमस्टैम्प को अपडेट करता है)
latexफ़ाइल पर चलाएँ- निर्णय लें कि परिवर्तन एक बुरा है
undoबदलाव
चरण (5) ( undo) में समस्या यह है कि यह चरण (1) में किए गए परिवर्तन को पूर्ववत नहीं करता है, बल्कि चरण (2) में टाइमस्टैम्प अपडेट को पूर्ववत करता है। यह मुझे परेशान नहीं करेगा (मैं undoफिर से कर सकता हूं ) सिवाय इसके कि यह फ़ाइल के शीर्ष पर टाइमस्टैम्प के लिए सभी तरह से आगे बढ़ता है, जो वास्तविक मूल परिवर्तन से लगभग हमेशा कई, कई लाइनों दूर है। यह बहुत घबराहट है और मेरी एकाग्रता को पूरी तरह से तोड़ देता है।
मैं उस फ़ाइल के संबंध में प्रश्न पूछ रहा हूं जो मैं देख रहा हूं, लेकिन यह आम तौर पर बफ़र्स को संशोधित करने के बारे में अधिक है।
तो: मैं undoएक बफर में विशिष्ट संशोधन को नोटिस करने से कैसे रोक सकता हूं ?
undoदोनों को पूर्ववत किया जाएगा।
with-undo-collapseमैक्रो को परिभाषित करता है जो बहुत उपयोगी था: emacs.stackexchange.com/a/7560/2418