मैं एक मौजूदा विंडो को एक नए टैब में कैसे स्थानांतरित करूं?


151

क्या एक मौजूदा विंडो (विभाजन) लेने और इसे एक नए टैब में डालने का एक तरीका है?


यदि आप कभी भी इस प्रश्न पर वापस आते हैं तो कृपया स्वीकृत उत्तर को बदल दें, DrAI का माइकोला के मुकाबले अधिक सही है।
gbr

जवाबों:


261

पहले से सुझाए गए :tabeditदृष्टिकोण के साथ, इसे करने का एक तेज़ तरीका (सामान्य मोड में) हिट करने के लिए है Ctrl- W Shift- T। Ctrl-W विभिन्न प्रकार की विंडो हेरफेर कमांड के लिए सामान्य उपसर्ग है।

देख:

:help Ctrl-W_T
:help Ctrl-W

3
ध्यान दें कि (निम्न मामले में) help Ctrl-W_Tकी मदद से आप प्रवेश कर सकते हैं Ctrl-W_t, हालाँकि, नीचे पृष्ठ में Ctrl-W_Tप्रविष्टि है (कैपिटल टी के साथ), यह कहते हुए कि "वर्तमान विंडो को एक नए टैब पृष्ठ पर ले जाएं ...."
Rabarberski

1
@DrAl और हम विंडो को विभाजित करने के लिए एक नया टैब विंडो कैसे स्थानांतरित करते हैं?
रमिज़ उद्दीन

@RamizUddin ऐसा करने का कोई सरल तरीका नहीं है (जैसा कि यह स्पष्ट नहीं है कि आप किस विंडो को विभाजित करना चाहते हैं)। हालाँकि, आप अपने वर्तमान टैब पेज के लिए बफर नंबर का पता लगा सकते हैं :echo bufnr("")और इस नंबर का उपयोग करके आप एक विंडो को :sp #3या :sb 3(संख्या 3 था मानकर) के साथ विभाजित कर सकते हैं । आप इसे सरल बनाने के लिए कुछ मैपिंग या कार्यों के साथ आने में सक्षम हो सकते हैं।
DrAl

1
आप बफर को एक नए टैब में कैसे स्थानांतरित करते हैं , यह पूर्ववत / फिर से स्थिति है। दूसरे शब्दों में, मैं एक ही फाइल को एक नए टैब में नहीं खोलना चाहता, मैं सचमुच बफर को एक नए टैब में ले जाना चाहता हूं , इसलिए एडिट हिस्ट्री को नए टैब में इस्तेमाल किया जा सकता है। यदि ऐसा करने का कोई डिफ़ॉल्ट तरीका नहीं है, तो मुझे यकीन है कि एक प्लगइन बनाया जा सकता है जो ऐसा करने के लिए एक नया शॉर्टकट जोड़ता है जो नए बफर के लिए स्वैप फ़ाइल में पूर्ववत इतिहास लिखता है।
trusktr

2
@trusktr मुझे लगता है कि बफर को एक नए टैब में खोलने से :sbकाम चल जाएगा, लेकिन Vim (> = 7.3) के हालिया संस्करणों के साथ आप भी set undodir=/path/to/dirजहां / पथ / से / dir एक निर्देशिका है, वहां सेटिंग करके निरंतर पूर्ववत उपयोग कर सकते हैं। उद्देश्य के लिए बनाया और फिर set undofile। यह आपको vim को छोड़ने और फिर से पुनरारंभ करने और फिर भी पूर्ववत / पुन: स्थिति को बनाए रखने की अनुमति देगा।
डॉ। एल

103

प्रयत्न

:tabedit %<CR>

3
बस आप उत्सुक हैं कि आपने इसके साथ <CR> को क्यों शामिल किया।
स्विस

17
उसी कारण से मैंने ":" को शामिल किया। यह सामान्य मोड में पूर्ण विम कुंजी संयोजन है और आप इसे 'nnoremap' और 'nmap' में उपयोग कर सकते हैं
Mykola Golubyev

6
यह तब तक काम करता है जब यह क्लोन को छोड़कर नए टैब में विंडो को डुप्लिकेट करता है। इसे पहले बंद करने और फिर एक नए टैब में खोलने के विपरीत। कोई बड़ी बात नहीं। बस ऐसा कुछ जिसके बारे में अवगत होना चाहिए।
A- डब

6
यह बफर को एक नए टैब में नहीं ले जाता है, यह सिर्फ एक ही फाइल को एक नए टैब में खोलता है, लेकिन आपके पास पूर्ववत / नया इतिहास नहीं होगा, आदि
trusktr

5
C-w Tएक ही काम करने के लिए तेज़ तरीका है
Dylanthepiguy

3

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

:sbp |wincmd p| wincmd T

आप इसे उस तरह से Ctrl-Backspace पर मैप कर सकते हैं

:nnoremap <C-BS> :sbp<bar>wincmd p<bar>wincmd T<CR>

यह विशेष रूप से अच्छा प्रदर्शन करता है

:set switchbuf=usetab

0

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

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

इसका मतलब है कि यदि आपके पास 2 टैब हैं, जिनमें से प्रत्येक में एक एकल विंडो है, तो पहले टैब की विंडो को दाईं ओर ले जाने से इसे दूसरे टैब के साथ संयोजित किया जाएगा, जिसके परिणामस्वरूप दो विंडो के साथ एक ही टैब होगा। मुझे नहीं पता कि पारंपरिक आदेशों का उपयोग करके यह ऑपरेशन कितना जटिल है।

इसका मतलब यह है कि चालों की एक जोड़ी जोड़ी टैब के चारों ओर खिड़कियों को स्थानांतरित करने की अनुमति देती है, खिड़कियों को टैब में विभाजित करती है (एक खिड़की को अंत तक धकेलती है) और एक टैब के अंदर खिड़कियों में अलग-अलग टैब को शामिल करती है, बहुत अधिक सब कुछ आप संभवतः चाहते हैं, स्थिति की कमी के कारण (जो एक अलग विषय है और जो अंतर्निहित Ctrl-W+ Shift-HJKLकमांड के लिए ठीक काम करता है)।

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