विम में दो ऊर्ध्वाधर खुली खिड़कियों का अंतर लें


102

मेरे पास दो फाइलें हैं। वे अगले के बगल में, ऊर्ध्वाधर मोड में खोले जाते हैं। क्या मैं विम को छोड़ने या बंद करने के बिना तुरंत इन दोनों फाइलों को अलग कर सकता हूं?

जवाबों:


154

सभी दृश्यमान विंडो पर अंतर करना शुरू करना:

:windo diffthis

जो :diffthisप्रत्येक विंडो पर निष्पादित होता है।

विधा को समाप्त करने के लिए:

:diffoff!

( !बनाता diffoffमौजूदा टैब की सभी खिड़कियां पर लागू होते हैं - अगर यह अच्छा होगा diffthisएक ही सुविधा थी, लेकिन ऐसा नहीं है।)


:windoआदेश में यह भी बेहतर बनाता है। धन्यवाद। मैं इसे आसान बनाने के लिए मैप करूंगा।
फतह अर्सलान

1
यह अच्छा उत्तर है, लेकिन ध्यान दें कि इस ऑपरेशन से पहले मिनीब्यूएक्सप्लेयर विंडो को बंद कर दिया जाना चाहिए, अगर खोला गया हो। अन्यथा गलत परिणाम दिखाता है।
बाल्ड्स

कोई अन्य का उपयोग कर सकता है :windo difft[this]। रेफ::help diff
दिमित्रीसंडालोव

@FatihArslan:: विंडो डिफिसिस मेरे मामले में कुछ भी नहीं करता है, लेकिन सिर्फ पंक्ति संख्याओं के बगल में बाईं ओर ग्रे कॉलम पर छोड़ रहा है। मेरे पास दो अलग Vim फाइलें हैं।
इरीक87

22

प्रत्येक विंडो में आप टाइप करना चाहते हैं:

:diffthis

यदि आप सभी खुली खिड़कियों को अलग करना चाहते हैं, तो आप ऐसा कर सकते हैं:

:windo diffthis

( windoसभी खुली खिड़कियों पर कमांड लागू होगी)


6

पहले के जवाबों के बाद,

  • :windo difft (के लिए कम diffthis ) सभी खुली खिड़कियों में अलग-अलग मोड शुरू करेगा।
  • :windo diffo(शॉर्ट फॉर diffoff) सभी खुली खिड़कियों में अलग-अलग मोड बंद कर देगा।

vimrcइसे आसान बनाने के लिए मेरे पास निम्न मैपिंग हैं :

command! Difft windo diffthis
command! Diffo windo diffoff

3

पहले के उत्तरों के बाद मैंने @cxw द्वारा प्रदान की गई मैपिंग को अनुकूलित किया। निम्नलिखित मैपिंग स्वचालित रूप से NERDTree को बंद कर देती है और खुली हुई खिड़कियों को अलग कर देती है। इससे कोई फर्क नहीं पड़ता कि NERDTree करीब है, यह उसी तरह से काम करता है। मैं यह अक्सर करता हूं इसलिए इसने मुझे कुछ समय बचाया।

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