2010-09-14 11 views
16

जब मैं एकाधिक फ़ाइलों को संपादित करता हूं तो मैं पिछली बार संपादित की गई फ़ाइलों के बीच आगे और पीछे जाना चाहता हूं। मुझे के बारे में पता है: बीएन (एक्सटी) और : बीपी (रेवियर) बफर के बीच स्विच करने के लिए, लेकिन वे अंतिम उपयोग की गई फ़ाइलों का इतिहास नहीं रखते हैं। इसके बजाय वे उस क्रम का उपयोग करते हैं जिसमें फाइलें खोली गई थीं। उदाहरण के लिए, अगर मैं इस क्रम में फ़ाइलों को खोलाविम: संपादित इतिहास में पिछले और अगले बफर पर नेविगेट करना

A, B, C 

एक मेरी नेविगेशन इतिहास

A, B, C, B 

तो होगा: पिछले बफर (बी) मुझे भेजना होगा में bprevious को ए है वहाँ एक कमांड या प्लगइन जो मुझे सी भेज देगा? मुझे Ctrl-6 का पता है, लेकिन यह केवल पिछले दो बफर के बीच स्विच करता है। मैं कई बफर आगे और आगे जाना चाहूंगा।

उत्तर

16

मैं अब भी काफी कुछ समय के लिए ही कार्यक्षमता चाहने की है। आपके प्रश्न ने मुझे अंततः इसके बारे में कुछ करने के लिए प्रेरित किया। bufsurf पर एक नज़र डालें, एक छोटी प्लगइन जो आवश्यक कार्यक्षमता प्रदान करती है। यह दो आदेशों के साथ उपयोगकर्ता प्रदान करता है:

:BufSurfBack 

इतिहास में पीछे की ओर नेविगेट करने के लिए, और इसी तरह:

:BufSurfForward 

इतिहास में आगे नेविगेट करने के लिए। प्रत्येक विंडो या टैब के लिए स्मृति में एक अलग नेविगेशन इतिहास रखा जाता है। अगर आपको कोई समस्या आती है तो कृपया मुझे बताएं, मुझे अभी तक इसका व्यापक परीक्षण करने का मौका नहीं मिला है।

+0

यह कमाल है, बहुत बहुत धन्यवाद! अच्छी तरह से काम! – lassej

+0

@ टॉन वैन डेन हेउवेल कमाल !! क्या आप किसी भी तरह इतिहास को रीसेट कर सकते हैं? थोड़ी देर बाद, मैंने फाइलों का एक बड़ा इतिहास बनाया है और मैं कुछ और काम करना शुरू करना चाहता हूं। क्या मैं इतिहास को साफ़ कर सकता हूं या खिड़की को कुछ स्मार्ट तरीके से बंद कर सकता हूं? – Cotten

+0

@ प्राप्त, धन्यवाद! जहां तक ​​मुझे पता है रीसेट करना संभव नहीं है। हालांकि इसे लागू करना बहुत मुश्किल नहीं है। आप एक टिकट दर्ज कर सकते हैं या बेहतर पुल अनुरोध भी सबमिट कर सकते हैं :) https://github.com/ton/vim-bufsurf –

5

lustyjuggler buffer प्लगइन देखें। यह इसके लिए कमाल है। यह बफर को आखिरी इस्तेमाल किए गए क्रम में रखता है और उन्हें होम पंक्ति कुंजी पर मैप करता है ताकि आप उनके बीच बहुत जल्दी आगे जा सकें।

http://www.vim.org/scripts/script.php?script_id=2050

आप देख सकते हैं यह मेरी सबसे हाल vim स्क्रीनकास्ट के अंत में डेमो थे मैं बफ़र्स पर जाने के: http://lococast.net/archives/185

+0

हाय रिक, उत्तर के लिए धन्यवाद, लेकिन मैं एक ऐसे समाधान की तलाश में हूं जहां मुझे हालिया बफर के बीच स्थानांतरित करने के लिए किसी भिन्न मोड पर स्विच करने की आवश्यकता नहीं है। आदर्श रूप से मैं पिछले और अगले कार्यों में Shift-H और Shift-L को मैप करने में सक्षम होगा। – lassej

+1

@lassej: बस प्लगइन से कमांड ढूंढें जो आप चाहते हैं, और उन्हें उन चाबियों पर मैप करें जिन्हें आप मैप करना चाहते हैं। – Cascabel

संबंधित मुद्दे