विम में दो फाइलों की तुलना


63

क्या विम में दो फाइलों को अगल-बगल देखना संभव है? यदि हां, तो मैं ऐसा करने के लिए अपने संपादक को कैसे सेट कर सकता हूं, और क्या diffविम के भीतर दो फाइलों के बीच एक रास्ता है ?

मैं इसके बारे में जानता हूं :nextऔर :prevआज्ञा देता हूं , लेकिन यह वह नहीं है जो मैं बाद में हूं। यह वास्तव में मिलकर दो फ़ाइलों को देखने के लिए अच्छा होगा।

जवाबों:


43

अगल-बगल के दृश्य खोलें:

Ctrl+w v

उनके बीच बदलें:

Ctrl+w h or l

यदि आप एक अलग तरह का दृश्य चाहते हैं, तो vimdiff कमांड, vim पैकेज का हिस्सा चेकआउट करें :

vimdiff file1.txt file2.txt

2
क्या दो खिड़कियों के बीच स्क्रॉलिंग को लॉक करने का एक तरीका है?
ज़ेड

1
हां, vimdoc.sourceforge.net/htmldoc/options.html#%27scrollbind%27 की जांच करें - vimdiff के साथ यह डिफ़ॉल्ट है।
मैक्सक्लेपजिग

1
मैं आमतौर पर कमांड लाइन पर "diff file1 file2" का उपयोग करता हूं।
djangofan

2
@Zaid का उपयोग करें vimdiff file1.txt file2.txt(नीचे देखें)
Eduardo Cuomo

42

आप -Oविकल्प के साथ स्प्लिट-स्क्रीन मोड में विम खोल सकते हैं : -

vim -O file1 [file2 ...]

फिर विधा को चालू करने के लिए, आपको :diffthisप्रत्येक फलक में कमांड को चलाने की आवश्यकता है ।

एक अन्य उपयोग-मामला परिदृश्य है, अगर आपने पहले से ही एक फ़ाइल को विम में खोल दिया है, और आप इसे दूसरे के खिलाफ खोलना और तुलना करना चाहते हैं। तो आप निम्नलिखित विम आदेशों का उपयोग कर सकते हैं: -

:vs otherfile (open otherfile in vertical split screen)
:diffthis (turn on diff mode in original file)
Ctrl+w l  (swap to newly opened file)
:diffthis (turn on diff mode in opened file)

फिर आप vim कमांड के साथ प्रत्येक फलक में भिन्न मोड को बंद कर सकते हैं :diffoff

संपादित करें
और अन्य मानक एक जिसका उल्लेख नहीं किया गया है: -

vim -d file1 [file2 ...]

यह vimdiffसीधे कॉल करने के बराबर है ।


11
:windo :diffthisअंतिम तीन आदेशों के बजाय उपयोग किया जा सकता है।
बर्नहार्ड

2

या बस VIM में पहली फ़ाइल खोलें, फिर :vert diffsplit file2 :vertयह स्क्रीन को लंबवत रूप से विभाजित करता है।

diffsplit एक अंतर करता है, और फ़ाइलों को विभाजित करता है और स्क्रॉल उन्हें लॉक करता है।

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