विम में एक ही समय में एक विभाजन-खिड़की के दोनों हिस्सों को नीचे स्क्रॉल करना


119

क्या विम में खड़ी विभाजन विंडो के बाएं और दाएं हिस्सों को नीचे स्क्रॉल करना संभव है? मेरे पास दो फाइलें हैं जिनकी मैं लगभग तुलना करना चाहूंगा। इन फ़ाइलों की प्रत्येक पंक्ति लगभग समान दिखती है ।

जवाबों:


90

स्क्रॉल-बाइंडिंग के लिए दस्तावेज़ देखें । आपको प्रत्येक विंडो के लिए इसे सेट करना होगा जिसे आप बाउंड करना चाहते हैं (उदाहरण के लिए न्यूनतम 2)

यदि आप 2 फ़ाइलों की तुलना कर रहे हैं, हालांकि, vimdiff अधिक उपयोग हो सकता है


4
विम्डीफ ... आप सारी जिंदगी कहां रहे?
होसिएरेई

@BrianAgnew बस हमें कॉपी करने के लिए एक कमांड दे दो यार। हमारे जीवन को आसान बनाता है। हालांकि vimdiff के लिए धन्यवाद!
नाथन

184

पहले विभाजन पर जाएं, और अंदर टाइप करें

:set scrollbind

अगले एक ( ctrl+ w) पर जाएं, और ऐसा ही करें।

निष्क्रिय करने के लिए:

:set noscrollbind

अधिक जानकारी के लिए, स्क्रॉल बाइंडिंग के लिए दस्तावेज़ीकरण देखें - http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding


58
यदि आपके पास सभी फाइलें खुली हैं, तो आप :windo set scrollbindइसे एक ही बार में सभी विभाजन के लिए सेट कर सकते हैं ।
बर्नहार्ड

54
:windo set scrollbind

सभी विंडो में स्क्रॉलबाइंड सेट करेगा।


3
यदि आप अपने आप को ऐसा करते हुए पाते हैं, तो nmap <F5> :windo set scrollbind!<cr>सभी खुली खिड़कियों में स्क्रॉलबाइंड टॉगल करने जैसा कुछ होना उपयोगी हो सकता है ।
jlund3

पता नहीं क्यों लेकिन scrollbind!मेरे लिए काम नहीं किया, लेकिन invscrollbindकिया। एक सुपर मैपिंग। धन्यवाद!
उल्फर्ट

11

अच्छा दिन,

दो फाइलों पर vimdiff का उपयोग करने की कोशिश की?

vimdiff file1 file2

यह आपको डिफ़ॉल्ट रूप से स्क्रॉल बाइंडिंग देगा।


1
समस्या यह है कि सभी लाइनें अलग-अलग हैं, यह गड़बड़ होने लगी है। लाइनें लगभग एक ही हैं, लेकिन एक चरित्र से भिन्न हो सकती हैं ... और मैं नहीं चाहता कि मेरा विचार बहुत अधिक परेशान हो..हालांकि।
14:40 पर LB40

1
@ LB40 आप अपने
कलर्सकेम को

8

कमांड लाइन से:

vim -O file1 file2 -c 'windo set scb!'

-ओ = अगल बगल में खुला।

-c = उद्धरणों में निम्नलिखित प्रकार को एक विम विकल्प के रूप में माना जाता है।

'windo' = सभी पैनलों पर लागू होता है।

स्क्रॉल के लिए 'scb' = शॉर्टहैंड। कुछ टाइपिंग बचाता है, लेकिन दोनों विनिमेय हैं।

'!' = टॉगल करना। इस तरह आप बाद में इसे बंद करने के लिए एक ही कमांड का उपयोग कर सकते हैं।


5

बाद के लिए, यहाँ मुझे क्या करने की ज़रूरत थी, क्योंकि मैं vimdiff के साथ शुरू नहीं किया था।

मैंने एक फाइल लोड की। फिर: दूसरे को लोड करने के लिए वी.एस.पी.

वे बहुत अलग फाइलें हैं, लेकिन मैं देखना चाहता था कि उनके बीच क्या आम है।

इसलिए...

:set diff
:set diffopt=iwhite
:set scrollbind

3
बफ़र्स में से प्रत्येक में diffthis: (: भिन्नता,: diffopt,: scrollbind) के साथ एक आदेश में आप किसी एक बफर के लिए उन सभी प्राप्त कर सकते हैं
qneill
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.