विम विशेषज्ञ टैब पर बफ़र्स को क्यों पसंद करते हैं?


243

मुझे बफ़र्स समझ में नहीं आते हैं । जब मैं एक ही टैब पर 3 फाइलें खोलता हूं और अपनी विंडो बंद करता हूं, तो मैं आमतौर पर अगली बार यह जानने के लिए नाराज होता हूं कि मैं उन फाइलों में से एक को खोल रहा हूं, जिनमें अजीब स्वैप फाइलें हैं जो मुझे परेशान करती हैं और मुझे अजीब संदेश देती हैं। लेकिन समय और समय मैं फिर से पढ़ता हूं कि ये चीजें उत्पादकता निर्वाण हैं जो मुझे याद आ रही हैं और जो कि plebeians का उपयोग करने के लिए टैब बनाए गए थे।

इसलिए मैं आपसे पूछता हूं, विम विशेषज्ञ: टैब पर बफ़र्स का उपयोग करने के क्या फायदे हैं? मैं यह नहीं देखता कि अंतर गहरा कैसे हो सकता है, लेकिन मैं खुद को शुरुआती-मध्यवर्ती स्तर पर ही ऑपरेटिंग विम पर विचार करूंगा। है :ls :b#वास्तव में है कि बहुत से अधिक तेजी से gtचारों ओर ing? मुझे लगता है कि इसे इससे ज्यादा गहरा होना चाहिए।


6
विम सीखने या अन्य GUI आधारित संपादकों द्वारा भारी प्रभाव में आने के लिए, मैं अत्यधिक @Jonathan Brink के उत्तर को पढ़ने और फिर शीर्ष उत्तर पर वापस आने की सलाह दूंगा।
icc97

1
इसके बारे में बहुत ज्यादा चिंता मत करो। मैं फ़ाइलों के बीच नेविगेशन के अपने प्राथमिक तरीके के रूप में टैब का उपयोग करता हूं। जैसा कि आप कहते हैं, <#> gt टाइप करना आसान है। इसे उपयोग करना और भी आसान बनाने के लिए, मैंने टैब संख्या को शामिल करने के लिए अपने टैबलाइन डेटा को अनुकूलित किया है। अगर मुझे एक बार में एक से अधिक बफर देखने की आवश्यकता है, तो मैंने टैब के भीतर एक नई विंडो विभाजित की। @Romaini का दावा करने के बावजूद, विम का उपयोग करने का यह तरीका मुझे बहुत उत्पादक बनाता है क्योंकि यह मेरे व्यक्तिगत रूपकों को फिट करता है। यह भी ध्यान दें कि एक प्रोग्रामर के रूप में एक 37 (अब तक) वर्ष के कैरियर में, मुझे अभी तक एक बार में पांच या छह से अधिक फाइलें नहीं खोलनी हैं - और यह बहुत ही कम। करो जो तुम्हारे लिए काम आता हो। :)
टोनी

क्या काम करता है। कुछ लोग एक सत्र में बहुत सारी फ़ाइलों का उपयोग करते हैं इसलिए बफर बहुत अधिक मायने रखते हैं। यहां तक ​​कि ब्रैम मूलनेर कहते हैं "उन्हें अपनी इच्छानुसार व्यवस्थित करें।" 20 टैब खुले होने का सही तरीका नहीं है, लेकिन कुछ फ़ाइलों के लिए टैब दुनिया का अंत नहीं है। बहुत सारी फाइलों के प्रबंधन के लिए ब्रैम का समाधान कई टर्मिनल सत्र खोल रहा है। वह कहते हैं कि वह इसे कैसे करते हैं, लेकिन ऐसा नहीं है कि हर किसी को यह करना चाहिए।
शिल्प

एकल सबसे स्पष्ट अंतर जो ठीक से उजागर नहीं होता है वह यह है कि यदि आप एक टैब में रहते हैं तो आप एक ही समय में कई बफ़र्स :splitको "विंडोज़" में टिंग करके देख सकते हैं । यदि आपके पास अपने सभी बफ़र्स (फाइलें) अलग-अलग टैब में हैं, तो आपको वह समकालिक दृश्य नहीं मिलेगा। मैं 1 टैब का उपयोग करके vim सीखने की सलाह दूंगा और विभाजन के लिए उपयोग किया जा रहा है।
22

जवाबों:


500

जैसा कि ZyX ने #vim पर कहा, यह प्रश्न "वीम विशेषज्ञों को गर्म पर स्वादिष्ट क्यों पसंद है?"

"विशेषज्ञ विशेषज्ञ" टैब पर बफ़र्स पसंद नहीं करते हैं: वे बफ़र्स का उपयोग फ़ाइल प्रॉक्सी के रूप में करते हैं जो वे हैं और टैब पृष्ठ वे कार्यक्षेत्र के रूप में हैं। बफ़र्स और टैब पृष्ठों के अलग-अलग उद्देश्य होते हैं इसलिए एक से दूसरे को प्राथमिकता देना कोई मायने नहीं रखता है।

बफ़र्स और टैब के साथ समस्या एक भ्रम है , जो स्वतंत्र तथ्यों के संयोजन के कारण है।

  1. अधिकांश "आधुनिक" पाठ संपादक और IDE लोड की गई फ़ाइलों का प्रतिनिधित्व करने के लिए एक टैब रूपक का उपयोग करते हैं। वह रूपक सूचना प्रणाली के रूप में कार्य करता है - यह उपयोगकर्ता को दिखाता है कि कौन सी फाइलें खोली गई हैं और उनकी स्थिति - और एक संवादात्मक उपकरण के रूप में - यह उपयोगकर्ता को उन खोली गई फ़ाइलों को फिर से व्यवस्थित करने (फिर से चुनने, बंद करने) की अनुमति देता है। उनकी कई सीमाओं के बावजूद, टैब हर जगह हैं और लोग उनके लिए उपयोग किए जाते हैं और हर जगह उनकी अपेक्षा करते हैं।

  2. विम ने अपने उपयोगकर्ताओं के लिए तदर्थ "वर्कस्पेस" बनाने के लिए 7.0 के रूप में टैब पृष्ठ पेश किए । उनकी विशेषताओं, उनके विशिष्ट विकल्पों, उनके विशिष्ट आदेशों या उनके :helpअनुभागों में कुछ भी नहीं पता चलता है कि टैब पृष्ठ फ़ाइल प्रॉक्सी के रूप में उपयोग किए जा सकते हैं या उनका उपयोग किया जाना चाहिए।

    नाम और "टैब पेज" की उपस्थिति के अलावा, कुछ भी नहीं , जो बहुत भ्रम की ओर जाता है।

  3. बिना :set hidden, जो कि डिफ़ॉल्ट रूप से अक्षम है और खोजने में बहुत आसान नहीं है, विम वर्तमान को लिखे बिना या उसके परिवर्तनों को छोड़ते हुए दूसरे बफर में स्विच करना असंभव बनाता है। नए उपयोगकर्ता, उस विकल्प से अनजान हैं, उनके पास भारी खिड़कियों के उपयोग या निकटतम "टैब जैसी" सुविधा को चालू करने के अलावा कोई विकल्प नहीं है जो वे पा सकते हैं: टैब पृष्ठ।

"टैब पृष्ठ" उस विशेषता के लिए एक दुर्भाग्यपूर्ण नाम विकल्प है, विशेष रूप से इस विचार पर हावी है कि प्रलेखन पढ़ना समय की बर्बादी है।

विम में, टैब पृष्ठ खिड़कियों के शीर्ष पर निर्मित एक अमूर्तता है, जो स्वयं बफर के शीर्ष पर निर्मित एक अमूर्त है। प्रत्येक नया स्तर उपयोगी सुविधाएँ जोड़ता है लेकिन आपके वर्कफ़्लो को प्रतिबंधित करता है।

"बफर रास्ता"

बफर-आधारित वर्कफ़्लो के साथ, आप जिन फ़ाइलों के साथ काम कर रहे हैं, वे एकल आयाम के साथ वितरित किए जाते हैं। आप अपने बफ़र्स के माध्यम से साइकिल चला सकते हैं, आप एक विशिष्ट बफर को उसके नाम का हिस्सा (पूरा होने के साथ) या उसकी संख्या टाइप करके एक्सेस कर सकते हैं, आप बफ़र्स के बीच वैकल्पिक कर सकते हैं, आप उन्हें आसानी से लक्ष्य कर सकते हैं। मूल रूप से कोई घर्षण नहीं है।

  1. आठ बफ़र्स खुले, केवल एक दिखाई:

    आठ बफर्स ​​खुले

  2. संख्या द्वारा स्विच करना:

    संख्या द्वारा स्विच करना

  3. नाम से स्विच करना:

    नाम से स्विच करना

बफ़र्स विम की फ़ाइल-प्रॉक्सी हैं। यदि आप फ़ाइलों के संदर्भ में सोचते हैं, तो आप बफ़र्स के संदर्भ में सोचते हैं।

"खिड़की रास्ता"

एक खिड़की-आधारित वर्कफ़्लो के साथ, आपकी "फाइलें" दोनों को एक ही "वर्चुअल" आयाम के साथ वितरित किया जाता है, क्योंकि यदि आप केवल बफ़र्स और दो अन्य "भौतिक" आयामों का उपयोग करते हैं। लेकिन कार्टेशियन रिक्त स्थान, जिसमें वे आयाम पाए जाते हैं, लगभग पूरी तरह से अलग हो जाते हैं: दूसरे बफ़र में जाने का मतलब अभी भी "दूसरी फ़ाइल में जाना" है, लेकिन दूसरी विंडो में जाना नहीं है। इच्छित फ़ाइल से संबंधित बफर उस विंडो में प्रदर्शित हो सकता है, लेकिन यह दूसरे में भी प्रदर्शित हो सकता है, शायद किसी अन्य टैब पृष्ठ में, या बिल्कुल भी नहीं।

खिड़कियों के साथ, खुली फ़ाइलों के बीच नेविगेट करना या तो बहुत जटिल या बहुत सरल हो जाता है, यहां तक ​​कि 'switchbuf'और :sb। ज्यादातर क्योंकि आप अनिवार्य रूप से एक ही चीज के लिए दो सेट का उपयोग करने के लिए मजबूर हैं: एक बफर तक पहुंचना।

विंडोज का उनका उपयोग है, जैसा कि नीचे वर्णित है, लेकिन उनके पास ऐसा नहीं है जो किसी के वर्कफ़्लो में बफ़र्स को बदलने के लिए लेता है।

यहाँ मैं एक विम कलर्सकेम पर काम कर रहा हूँ। दो विंडो एक ही बफर के अलग-अलग दृश्य हैं: शीर्ष एक संदर्भ के रूप में कार्य करता है, जो कलरकेम में उपयोग किए गए रंग कोड की एक तालिका के साथ है, और नीचे एक वह जगह है जहां मैं काम करता हूं:

कलर्सकेम पर काम कर रहे हैं

Windows को फ़ाइल-प्रॉक्सी के रूप में डिज़ाइन नहीं किया गया है और इसे लोगों में नहीं बनाया जा सकता है: वे "कंटेनर" या "व्यूपोर्ट" हैं जो आपको एक बफर में दृश्य पेश करने के लिए डिज़ाइन किए गए हैं। न आधिक न कम।

"टैब रास्ता"

टैब-आधारित वर्कफ़्लो के साथ, आप अनिवार्य रूप से विम के टैब पृष्ठों की प्रकृति को पूरी तरह से अनदेखा करते हुए आपके पिछले संपादक से उपयोग किए जाने वाले उपयोगकर्ता अनुभव की नकल करने की कोशिश करते हैं। अगर हम एक पल के इस रणनीति आम तौर पर यह है कि के लिए भूल जाते हैं बहुत अनुत्पादक है, यह भी खोने के बिना है कि "एक फ़ाइल = एक टैब" प्रतिमान का पालन करने के लिए बाध्य करने के विम असंभव है, सिर्फ खिड़कियों के साथ की तरह, एक बहुत लचीलेपन की।

अभी भी ऊपर की तरह एक ही फाइल के साथ काम करते हुए, टैबलाइन को वस्तुतः कोई लाभ नहीं हुआ। मेरी सभी फाइलें और मेरे सभी टैब कहलाते हैं javascript*.vimइसलिए मैं ऐसा नहीं कर 3gtसकता और मुझे विश्वास है कि मैं सही जगह पर समाप्त हो जाऊंगा और नाम से विशिष्ट टैब तक पहुंचना असंभव है। इस तथ्य को जोड़ें कि इसका लेबल बहुत अच्छी तरह से बहुत ही अनपेक्षित लेकिन पूरी तरह से तार्किक हो सकता है [Quickfix List]... चूंकि टैब पेज पर फ़ाइल / बफर को टाई करने का कोई व्यावहारिक तरीका नहीं है, इसलिए आप मूल रूप से टैब पृष्ठों के बीच नेविगेट करने के लिए केवल एक व्यावहारिक तरीके से बचे हैं। / बफ़र्स / फ़ाइलें: साइकिल चलाना।

और हाँ, मेरी सारणी केवल 8 टैब से भरी हुई है, कल्पना कीजिए कि मेरे पास 20 थे!

  1. आठ टैब पृष्ठ (गलत) में आठ बफ़र्स खुले

    गलत

  2. दो विशिष्ट कार्यों के लिए दो टैब (दाएं)

    सही

टैब पृष्ठ "कंटेनर" या "व्यूपोर्ट" होते हैं जिन्हें एक या अधिक खिड़कियों के लिए डिज़ाइन किया गया होता है, खुद बफ़र्स को शामिल करने के लिए डिज़ाइन किए गए "कंटेनर" भी होते हैं।

निष्कर्ष के तौर पर

"विम एक्सपर्ट्स" (मान लें कि मैं बोल सकता हूं जैसे कि मैं एक था) टैब पर बफ़र्स पसंद नहीं करते हैं: वे सिर्फ विम का उपयोग करते हैं क्योंकि यह डिज़ाइन किया गया था और उस डिज़ाइन के साथ पूरी तरह से आरामदायक हैं:

  • "विम विशेषज्ञों" में 2, 30 या 97 बफ़र भरे हुए हैं और बहुत खुश हैं कि उन्हें स्थानिक वितरण से निपटने की ज़रूरत नहीं है;

  • जब उन्हें एक संदर्भ के रूप में दूसरे को रखते हुए वर्तमान बफर के एक हिस्से में दो फ़ाइलों की तुलना करने या काम करने की आवश्यकता होती है, तो "विम विशेषज्ञ" विंडोज़ का उपयोग करते हैं, क्योंकि उनका उपयोग कैसे किया जाता है;

  • जब उन्हें अपने वर्तमान दृश्य के साथ खिलवाड़ किए बिना परियोजना के एक अलग हिस्से पर कुछ समय के लिए काम करने की आवश्यकता होती है, तो "विम एक्सपर्ट्स" एक नया टैब पृष्ठ लोड करते हैं।


10
कुछ अतिरिक्त लिंक के लिए मेरे उपयोग बफ़र्स को प्रभावी रूप से पोस्ट करें
पीटर रिनकर

7
@ डेविड, 20 बफ़र्स होने की समस्या बिल्कुल नहीं है, इसलिए एक प्लगइन की वास्तव में कोई सख्त आवश्यकता नहीं है। दूसरी ओर, 20 टैब पृष्ठ - चाहे वे फ़ाइल-परदे के कायल हों या नहीं - अधिकांश स्क्रीन, प्लगइन या नहीं पर फिट नहीं हो सकते।
16

2
@ कैश, हां, यह बिल्कुल मेरी बात का मूल है: आप विंडोज़ और टैब पेज का उपयोग कर सकते हैं कि वे क्या हैं लेकिन फ़ाइल-समर्थक के रूप में नहीं। तो यह तर्क यह नहीं है कि लोगों को टैब पृष्ठों का उपयोग करना चाहिए या बफ़र्स का, यह है कि क्या लोगों को टैब पृष्ठों का
२३:२१ बजे रोमन

14
एक "विम विशेषज्ञ" जैसा कि मैं कह सकता हूँ कि 4 सौ बफ़र्स "खुला" (वास्तव में "सूचीबद्ध है, लेकिन उतार दिया, कुछ को छोड़कर") जब मैं NeoVim तरह परियोजना से निपटने के लिए एक नियमित स्थिति है (मैं बस सब खोलने *.c, *.h, scripts/*और test/**/*.luaफ़ाइलें)। यह देखते हुए कि मेरा टर्मिनल केवल 239 कॉलम चौड़ा है "प्रति टैब एक फ़ाइल" दृष्टिकोण का उपयोग करना असंभव है।
ZyX

3
और यह देखते हुए कि बहुत सारे प्लगइन्स (कमांड-टी,…) है जो बफ़र्स और / या फ़ाइलों के बीच स्विच करना आसान बनाता है और किसी भी बड़े प्रोजेक्ट के लिए टैब का उपयोग करना आसान नहीं है। और “500 "दिलचस्प" फाइलों के साथ नवविराम बड़ी परियोजना है, लेकिन सबसे बड़ी नहीं है। जब आप ऐसी परियोजनाओं से निपटने की आवश्यकता का सामना करते हैं, तो आप इसे नेविगेट करने के लिए हमेशा किसी प्रकार की खोज का उपयोग करते हैं (कमांड-टी और दोस्तों के साथ फ़ाइल / टैग खोज, प्रतीक परिभाषा पर जाने के विभिन्न तरीके) और इस प्रकार आपके पास टैब का उपयोग करने का बिल्कुल कोई कारण नहीं है इस तरह: किसी भी स्थिति में आप प्रोजेक्ट को नेविगेट करने के लिए टैब-बाउंड कार्यक्षमता का उपयोग नहीं करेंगे।
ZyX

88

मैं हर बफ़र को एक अलग टैब में रखता था, लेकिन मैं हर जगह लगातार gtऔर gT-तरंग से थक जाता था।

मुझे यह भी लगा कि बफ़र्स को प्रबंधित करना बहुत मुश्किल था।

यहाँ कुछ तकनीकें दी गई हैं जिन्होंने मेरी पहले की राय को पूरी तरह से बदल दिया है:

यहाँ मेरे विशिष्ट कार्यप्रवाह है:

  • एक बफर खोलने के लिए विम खोलें, और उपयोग करें :e(आमतौर पर एक रेगेक्स की तरह :e src/**/F*Bar.js)
  • एहसास मुझे एक और फाइल खोलने की जरूरत है। :eउस के लिए भी उपयोग करें । यदि मैं इस बफ़र और वर्तमान में खुले बफ़र के बीच टॉगल करना चाहता हूँ, तो मैं इसका उपयोग करूँगा :spया :vspइसे एक अलग विंडो में खोलूँगा।
  • दोहराएं जब तक मुझे 3-5 फाइलें नहीं मिलीं, जिन्हें मैं आपके बफ़र्स के बीच उड़ान भरने के लिए उपरोक्त बुलेटेड सूची में तकनीकों का उपयोग करने के बीच स्विच करूंगा।
  • अगर मैं अपने बफ़र्स के साथ "शुरू करना" चाहता हूं, तो विम को बंद करें और फिर से खोलें।

मैंने महसूस किया कि इन नए प्रतिमानों को लागू करने के एक सप्ताह बाद तक, यह कल्पना करना बहुत आसान हो गया कि मेरे पास कौन से बफ़र हैं, और केवल कुछ स्वचालित स्ट्रोक में उनमें से किसी एक को कैसे प्राप्त किया जाए।


24
यह शर्म की बात है कि इस तरह के उपयोगकर्ता / नौसिखिया मित्रवत व्याख्याएं बहुत ही मत वाले, अपमानजनक अति जटिल जवाबों के बारे में 3% प्राप्त करती हैं जैसे कि शीर्ष ने यहां मतदान किया। मुझे यह भी नहीं पता gTथा कि टैब स्विच करने की कमांड थी, मैं इसके प्रतिस्थापन की तलाश कर रहा था ctrl+tab। तो वास्तव में वास्तव में उन्हें बेवकूफ बनाने के बजाय नए उपयोगकर्ता की मदद करने के लिए धन्यवाद।
icc97

11
मुझे कहना होगा कि मेरी टिप्पणी @ रोमेनिल के उत्तर के लिए अनुचित है, वह मेरे बारे में पूछे गए सवालों का जवाब देने में बहुत खुश था। लेकिन निश्चित रूप से जब कोई आपके उत्तर को जानने की कोशिश कर रहा होता है, तो आपका उत्तर समझना बहुत आसान होता है, लेकिन उसका उत्तर अधिक पूर्ण होता है जब आप वास्तव में थोड़ा अधिक जानते हैं।
1897 में icc97

3
मुझे लगता है कि @ रोमेनल का उत्तर अत्यंत उपयोगी है, और हमें एक स्पष्ट तस्वीर देता है कि बफ़र्स, विंडोज़ और टैब कैसे डिज़ाइन किए गए हैं, और उनका उपयोग कैसे किया जाना है। अब भी, मुझे लगता है कि विम यूज़र्स आपके सवालों का जवाब देने के मौके पर कूदते हैं, जिससे आप फ़ैशन नहीं कर सकते, और यह निराशाजनक हो सकता है।
कीफॉनाइट डे

3
याद नहीं है कि मुझे यह कहाँ से मिला है, लेकिन nnoremap <leader>b :ls<CR>:b<space>जल्दी से बफ़र्स स्विच करने के लिए काफी अच्छा है, क्योंकि यह आपको वर्तमान में खुले बफ़र्स की एक सूची दिखाता है। इसके अलावा, आंशिक नाम स्वीकार किए जाते हैं (जब तक कि केवल एक ही मैच हो)।
naught101

1
इस विधि से विम के ऑटो-पूर्ण (डिफ़ॉल्ट, कोई अतिरिक्त प्लगइन्स) का वास्तव में भयानक लाभ नहीं है। जब से तुम, कई बफ़र्स का उपयोग कर जब आप डालने मोड में हैं और एक कर रहे हैं ctrl Nया ctrl P(पी क्या मैं आमतौर पर इस्तेमाल करते हैं), यह आप क्या आप अपने वर्तमान पर आधारित टाइपिंग थे ... इसके स्मार्ट खत्म करने के लिए शब्दों की एक सूची दे देंगे बफ़र, स्प्लिट्स वाले, जिन्हें आप बस देख रहे थे, और हर दूसरी खुली फाइल!
g19fanatic

12

टैब का नकारात्मक पक्ष यह है कि आप केवल एक समय में एक की सामग्री देख सकते हैं। इसलिए यदि आप उन्हें एक ब्राउज़र की तरह उपयोग करते हैं, तो आप कई बफ़र्स को एक साथ देखने में चूक कर रहे हैं, या यहाँ तक कि विभाजन में एक ही फ़ाइल के अलग-अलग हिस्सों को देख रहे हैं। इसलिए, कई लोग विभिन्न कार्यक्षेत्रों को अलग करने के लिए केवल टैब का उपयोग करने की सलाह देते हैं (जैसे कि जावा प्रोजेक्ट के लिए एक, टूडू सूची के लिए एक और, एक स्क्रिप्ट को हैक करने के लिए तीसरा)।

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


मैं कभी-कभी विभाजन का उपयोग करता हूं। मुझे पता नहीं था कि उन्हें 'बफ़र्स का उपयोग करने वाला' माना जाता है। यह वास्तव में मेरे लिए एक रहस्यमय अवधारणा है।
8c पर 2c2c

1
टैब के दिलचस्प पुनर्वितरण के रूप में , टैबमैन एक NerdTree जैसा साइड पैनल उत्पन्न कर सकता है, जो सभी बफ़र्स का विवरण देता है जैसा कि वे प्रत्येक टैब में प्रदर्शित किए गए थे।
लेलिनफेंग

7

एक और टिप, जब बफर नाम का उपयोग तर्क के रूप में किया जाता है: बफर, आपको संपूर्ण नाम निर्दिष्ट करने की आवश्यकता नहीं है। हालाँकि, यदि एक से अधिक बफ़र दिए गए तर्क से मेल खाते हैं, तो बफ़र्स स्विच नहीं किए जाएंगे।

बफ़र नाम के किसी भी टुकड़े का मिलान करने के लिए उपयोग किया जा सकता है। उदाहरण के लिए, यदि आपके पास बफ़र्स हैं request_manager.javaऔर queue_manager.javaफिर :buffer queया :b queउन दोनों से मेल खाता है, लेकिन यह शुरुआत में मेल खाता है, लेकिन यह कतार से शुरू हो जाएगा।


3

मैं अपने वर्कफ़्लो में टैब, Ctrl- Pऔर विम सत्रों का उपयोग करता हूं और अब एक वर्ष से अधिक समय के लिए है:

  • मैं है )और (क्रमश: "अगले टैब पर जाने के लिए" और "पिछले टैब पर जाने" मैप किया। tnएक नया टैब खोलता है। मैं भी चीजों को व्यवस्थित रखने में मदद करने के लिए टैब का उपयोग करता हूं।

  • मैं वर्तमान कहानी / बग से संबंधित फाइलों के समूहों के लिए विम सत्रों का उपयोग कर रहा हूं, जो आमतौर पर श्रेणी के आधार पर किए जाते हैं। ये सत्र प्रक्रिया के दौरान अधिलेखित हो जाते हैं।

  • मुझे अभी तक कुछ भी बेहतर नहीं मिला है Ctrl- Pलेकिन इसे खोजने के लिए सभी फाइलों को संसाधित करने में थोड़ा समय लगता है।


1

2c को ढेर में डाल देता है।

TLDR; :b *part-of-filename*बफर लिस्ट में जिस फाइल की आपको जरूरत है, उसे खोजने का सबसे अच्छा तरीका है कि यह FASTER है और इसमें फाइल्स को ट्रैक करने के लिए बफर नंबर, टैब या विंडो की तुलना में कम संज्ञानात्मक भार है।

यह मेरे लिए 30 बफ़र्स खुला है (यानी मैं हाउसकीपिंग नहीं किया गया है), और इस्तेमाल किया-बफ़र्स की सुंदरता यह है कि यह मुझे बिल्कुल भी धीमा नहीं करता है। वास्तव में, यह चीजों को गति देता है जब चार दिनों के बाद मुझे उस फ़ाइल को खोलना पड़ता है जिसकी मुझे आवश्यकता होती है, कॉल करें :b *part-of-filename*और यह जादुई रूप से प्रकट होता है, सहकर्मियों को प्रभावित करता है और एक समान सामूहिकतावादी।

बफर फाइल के लिए हैं।

प्रभावशाली होना:

  • एक अच्छी तरह से चुने हुए रूट निर्देशिका से एक महत्वपूर्ण पहली फ़ाइल खोलें
  • के साथ बाद की फाइलें खोलें :e
  • lsहर समय का उपयोग करें जब आप पहली बार एक अच्छा मानसिक मॉडल प्राप्त करना शुरू करते हैं (आप मानसिक या शाब्दिक रूप से जो आप नहीं देख सकते हैं उसे नहीं कर सकते हैं)
  • कभी नहीं :q, यह चल रहा है
  • :bअपनी मांसपेशियों की स्मृति में प्रवेश करें
  • :b1 आपके द्वारा खोले गए पहले फ़ाइल के लिए अच्छा है, अन्यथा संख्या और अक्षर अनाड़ी हो जाते हैं
  • :b# आपकी अंतिम फ़ाइल पर स्विच करने के लिए अच्छा है, जो एक सामान्य आवश्यकता है
  • :bd#जब आप एक अस्थायी फ़ाइल पर स्विच करते हैं, तो आपको जो करना चाहिए, उसके साथ वापस स्विच किया जाता है :b#, और अब उस अस्थायी फ़ाइल को बंद करना चाहते हैं।
  • :b *part-of-filename* अन्यथा सूची में आपके लिए आवश्यक फ़ाइल खोजने का सबसे अच्छा तरीका है यानी यह FASTER है और इसमें ट्रैकिंग नंबर के लिए बफर नंबर, टैब या विंडोज़ की तुलना में कम संज्ञानात्मक भार है।

इस बात की झुंझलाहट :b *part-of-filename*यह है कि कभी आपने अभी तक फ़ाइल नहीं खोली है, और आपको :e path/to/full-filenameपहले और पीछे जाने की आवश्यकता है ।

टैब वास्तव में असंबंधित फ़ाइलों को विभेदित करने के लिए हैं।

या किसी विशेष विंडो लेआउट को काम में रखना (अस्वीकरण: मैंने इसे स्वयं के लिए कभी उपयोग नहीं किया है)।

या फ़ाइलों के लिए शायद ही कभी इस्तेमाल किया जाता है, लेकिन अनुमानित रूप से आवश्यक है। मेरे लिए, यह आमतौर पर एक commitMessageफाइल है जिसे मैं एनोटेट करता हूं क्योंकि मैं काम करता हूं इसलिए मुझे बहुत ज्यादा सोचने की ज़रूरत नहीं है जब यह एक प्रतिबद्ध बनाने का समय आता है। gtसे तेज है :b com<enter>(यदि आप भाग्यशाली महसूस कर रहे हैं, अन्यथा :b com<tab><enter>)

  • :tabe commitMessage
  • gtया gTभी एक मांसपेशी स्मृति पसंदीदा

विंडो स्प्लिट्स नेत्रहीन तुलनात्मक जानकारी के लिए हैं

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

  • :vspया C-w vएक ऊर्ध्वाधर विभाजन को खोलता है अर्थात बाएं | दाईं ओर, फिर अपनी इच्छित फ़ाइल का उपयोग करें :bया :eप्राप्त करने के लिए
  • :spया C-w sएक क्षैतिज विभाजन यानी ऊपर / नीचे खोलें
  • C-w C-w यानी डबल Ctrl-w, आपको उपलब्ध खिड़कियों के आसपास घुमाता है
  • C-w c वर्तमान विंडो बंद करें
  • C-w o अन्य सभी विंडो बंद करें, केवल चालू रखें

अविश्वसनीय रूप से उपयोगी उत्तर में, अधिक उत्थान होना चाहिए। युक्तियों के लिए धन्यवाद, विशेष रूप से आपके वर्कफ़्लो में अंतर्दृष्टि :b#और :bd#!
अल्क्रीतस

0

इन्हें अपने साथ जोड़ें .vimrcऔर बफ़र्स से प्यार करना शुरू करें :

:nnoremap <Tab> :n<cr>
:nnoremap <S-Tab> :N<cr>

इस तरह आप चक्र आगे कर सकते हैं / में उन के माध्यम से पिछड़े सामान्य मोड के माध्यम से Tab/ ShiftTab


5
ऐसा मत करो। आप के लिए मैपिंग खो देंगे <C-I><C-Tab>इसके बजाय मानचित्र यदि आप वास्तव में करना चाहते हैं।

6
इसके अलावा, :nऔर :Nतर्क सूची, नहीं खुला बफ़र्स से संबंधित हैं। आप चाहते हैं :bnऔर:bp ( :bnextऔर :bprev)। यदि आप चाहते हैं तो tpope का निर्बाध मानचित्रण प्रदान करता है ]bऔर इसके [bलिए (और अन्य अच्छी चीजें)। (और ), या <left>और <right>तीर, यकीनन कम उपयोगी कुंजी टैब से ओवरराइड करने के लिए, यदि आप वास्तव में एक छोटी मानचित्रण चाहते हो जाएगा।
वाज

1
@jeyoung ने सहमति व्यक्त की - यह उपयोग करने के लिए बहुत अधिक समझदार है Ctrl + Tabजैसा कि अन्य GUI संपादक और ब्राउज़र उपयोग करते हैं।
ic9797

0

मैं कुछ साल पहले अच्छी संख्या से एक शानदार कार्यान्वयन का सुझाव देना चाहता हूं: किएन / टैबमैनविम । यह निम्नलिखित स्पष्ट करता है:

  • एक के पास उतने बफ़र्स हो सकते हैं जो ध्यान से छिपे हों, कहीं;
  • डिज़ाइन के अनुसार, टैब रचनात्मक तरीकों से बफर प्रदर्शित करने के लिए होते हैं।
    • कुछ उचित टैबलाइन प्लगइन के साथ, कोई शीर्ष पंक्ति (टैबलाइन) पर सभी छिपे हुए बफ़र्स प्रदर्शित कर सकता है;
    • विम-एयरलाइन के साथ मेरे अनुभव के अनुसार , जब मैं एक नया टैब बनाता हूं, तो टैबलाइन बहुत कम प्रासंगिक जानकारी दिखाएगी।
    • बाकी के क्षैतिज स्थानों को बर्बाद करते हुए, दो टैग्स टैब साइड स्लॉट पर कब्जा कर लेंगे
    • सबसे बुरी बात यह है कि मुझे अब इस बात का कोई अंदाजा नहीं है कि छिपे हुए लोग क्या हैं।

यह इस जादू प्लगइन का एक अद्भुत पुनर्वितरण रहा है, जो कि अच्छी संख्या में वर्षों तक मेरे विम कॉन्फ़िगरेशन में रहना चाहिए था। जब मैं किसी ऐसी चीज़ की तलाश जारी रखूँगा जो सभी छिपे हुए बफ़र्स को भी प्रदर्शित करती है, तब TabMan मेरा सुपरमैन है, जब यह एक पक्षी की नज़र में आता है कि कैसे विभिन्न टैब में बफ़र्स की व्यवस्था की गई थी।



0

मैं "चयनित" बफ़र्स को उनके बीच टॉगल करने के लिए टैब (TAB / S-TAB) के रूप में लोड करता हूं। कार्यक्षेत्रों की रूपरेखा यहाँ मेरे लिए उपयुक्त है क्योंकि बफ़र्स वीएस टैब ज्यादातर दृश्यता की चीज है। मैं विंडोज़ और टैब में महत्वपूर्ण / कार्य फ़ाइलों को पॉप कर सकता हूं और उन लोगों को छिपा सकता हूं जिनकी मुझे वर्तमान में पथ पर याद किए बिना पृष्ठभूमि में उपयोग करने की आवश्यकता नहीं है या आवश्यकता पड़ने पर उन्हें खोजने और उन्हें फिर से लोड करने के लिए समय लगता है। यह एक VIM सत्र में कई कार्यों या परियोजनाओं को संभालने की अनुमति देता है, मुझे लगता है कि यह कम-मेमोरी मशीनों में महत्वपूर्ण हुआ करता था, लेकिन एक अनुप्रयोग फ्रेम के तहत सभी संपादन कार्यों को केंद्रित करने के लिए भी अच्छा है। मेरे पास बफर शिफ्टिंग शॉर्टकट्स भी हैंCtrl -Right / Left में ताकि मैं विभिन्न बफ़र्स के माध्यम से भी जल्दी से बदलाव कर सकूं।

निचला रेखा, व्यक्ति केवल अपने उपयोग के लिए कुछ विंडो तक विभाजित कर सकता है जितना कि स्क्रीन एस्टेट जाता है, लेकिन एक व्यक्ति कई टैब में कई विंडो सेटिंग्स रख सकता है और इस प्रकार किसी के कार्यक्षेत्र का विस्तार कर सकता है और वर्कफ़्लो में सुधार कर सकता है जिससे जटिल कार्यों के सुविधाजनक विभाजन को एक से अधिक फ़ाइल परिक्रमण कर सकते हैं ।

स्वैप फ़ाइलों के लिए, आप VIM को उन सभी को अपने पदनाम के एक फ़ोल्डर में रखने के लिए कह सकते हैं। इस उपयोग के लिए :set directory

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