जब एमएसीएस इस फ़ाइल को पुनर्प्राप्त करने का सुझाव देता है, तो उसे कैसे देखें?


51

कभी-कभी ऐसा होता है: emacs आपको फ़ाइल में सहेजे गए परिवर्तनों को पुनर्प्राप्त करने के बारे में संकेत देता है, लेकिन आप याद नहीं रख सकते हैं कि आप उन परिवर्तनों को चाहते हैं या नहीं।

recover-this-fileबफ़र पर शुरू करना , क्या एक अंतर को देखने का एक तरीका है या अन्यथा सीधे परिवर्तन देखें?

उदाहरण के लिए, magit-modeस्थिति बफ़र में किसी संपादित फ़ाइल पर टैब करते समय क्या कुछ देता है।


जवाबों:


51

recover-this-fileऑटोसैव संस्करण को चलाने और स्वीकार करने के बाद , आपके पास एक संशोधित बफर होगा जिसमें ऑटोवेव सामग्री होगी। इस बिंदु पर आप M-x diff-buffer-with-file RETसंशोधित बफर और सहेजे गए फ़ाइल के बीच अंतर देखने के लिए उपयोग कर सकते हैं ।

इसके लिए मैंने जो कुंजी बंधाई है, वह वास्तव में एक कस्टम फंक्शन चलाता है, ताकि एकीकृत अंतर पैदा हो सके, और बफ़र के लिए प्रॉम्प्ट छोड़ें (यह वर्तमान बफ़र मानता है)।

(defun my-diff-buffer-with-file ()
  "Compare the current modified buffer with the saved version."
  (interactive)
  (let ((diff-switches "-u")) ;; unified diff
    (diff-buffer-with-file (current-buffer))))

एक एडिफ़ समतुल्य है (जो मैं आमतौर पर पसंद करता हूं, हालांकि मैं दोनों का उपयोग करता हूं) जो कि उपलब्ध है M-x ediff-current-file RET

यदि आप अंतर की जांच करने के बाद संशोधनों को अस्वीकार करना चाहते हैं, तो आपको बस undoवसूली करने में सक्षम होना चाहिए । (असफल होना जो आप हमेशा उपयोग कर सकते हैं revert-bufferया find-alternate-file)

अलग-अलग आदेशों के लिए कीबाइंडिंग अक्सर शामिल होते हैं =, मुझे निम्नलिखित सुविधाजनक लगता है (nb मैंने डिफ़ॉल्ट C-zबाइंडिंग को अनबाउंड किया है , और इसके बजाय इसे स्थानांतरित कर दिया है C-z C-z, जो C-zकस्टम बाइंडिंग के लिए एक उपसर्ग के रूप में खुलता है ):

(global-set-key (kbd "C-z =") 'my-diff-buffer-with-file)
(global-set-key (kbd "C-z C-=") 'ediff-current-file)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.