मैं पैच फ़ाइल के रूप में अपने विम बफर में परिवर्तन कैसे बचा सकता हूं?


21

क्या मैं अपने विम बफर में किए गए परिवर्तनों को मूल फ़ाइल के लिए पैच फ़ाइल के रूप में सहेजने का एक तरीका है, बिना इसे अलग फ़ाइल के रूप में सहेजे और भिन्न का उपयोग किए?


2
Vi और Vim के लिए एक नया SE बीटा साइट है , आप इसे देखना चाहते हैं।
रफ्लो

जवाबों:


21

wकमांड का उपयोग किए बिना प्लगइन के बिना ऐसा करना संभव है , इसलिए शेल कमांड में बफर सामग्री का उपयोग किया जा सकता है:

:w !diff -au "%" - > changes.patch

( %फ़ाइल संपादित किए जाने के पथ के साथ प्रतिस्थापित है, -स्टड से बफर पढ़ता है)


2
diff -u "%" -जब से आप diffएक पानी का छींटा से पढ़े गए
roaima

1

आप सिंटैक्स diffका उपयोग करके बफर को फ़िल्टर भी कर सकते हैं %!:

:%! diff -au "%" -

यह बफर को डिस्क में लिखने के बजाय, अंतर के साथ भर देगा; आप सेट करना चाह सकते हैं readonlyताकि आप दुर्घटना (ओटीओएच) से मूल को रोकें नहीं, यह एक गंभीर समस्या नहीं होनी चाहिए क्योंकि आपके पास संस्करण नियंत्रण के तहत फ़ाइल है, ठीक है? )। बेशक, यह उलटा कमांड रखने में मदद करता है:

:%! patch -o - "%"

यह आपके परिवर्तित को वापस संशोधित फाइल में बदल देता है।

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