2015-09-26 24 views
5

के बीच स्विच करने के लिए विम फ़ंक्शन मैं एक फ़ंक्शन ढूंढने की कोशिश कर रहा हूं जो विम के लिए एक अलग दृश्य में मूल विंडो पर वापस स्विच करेगा। मुझे शॉर्टकट के बारे में पता है और मैं फ़ंक्शन के बारे में भी जानता हूं: कर्सर कॉल करें। लेकिन क्या कोई ऐसा फ़ंक्शन है जो मुझे पिछली स्प्लिट विंडो पर वापस जाने दे सकता है ताकि मैं इसे अपने विम फ़ंक्शन में चिपका सकूं?स्प्लिट

+1

इसके अलावा विम और वी के बारे में प्रश्नों के लिए [समर्पित स्टैक एक्सचेंज साइट] (http://vi.stackexchange.com/) में रुचि हो सकती है। – statox

+1

@statox धन्यवाद मुझे इसके बारे में पता नहीं था। बुकमार्क !! – SUB

+0

क्यों एक समारोह है जब ' पी' है? – romainl

उत्तर

6

एक vimscript में आप उपयोग कर सकते हैं:

" Save the window where you are currently 
let l:currentWindow=winnr() 

" Do stuff where you change of window 

" Go back to the original window 
exe l:currentWindow . "wincmd w" 

अधिक जानकारी के लिए दस्तावेज़ हमेशा एक उत्कृष्ट पढ़ने है:

संपादित एक और रास्ता टी ओ यह wincmd p उपयोग करने के लिए है:

wincmdCtrlको vimscript बराबर डब्ल्यू सामान्य मोड में है।

सामान्य मोड में जब आप विंडो के बदलते हैं तो आप Ctrl उपयोग कर सकते हैं डब्ल्यू + पी वापस पिछली विंडो पर आने के लिए। तो विस्क्रिप्ट में आप बस उपयोग करते हैं:

wincmd p 

पिछली विंडो पर वापस जाने के लिए।

बेशक यदि आपका शेष कार्य 2 से अधिक विभाजन का उपयोग करता है तो आप अपनी प्रारंभिक विंडो पर वापस नहीं जाएंगे, लेकिन यदि आपके पास केवल दो विभाजन हैं तो यह आपकी विंडो की संख्या को रखने के लिए एक चर का उपयोग करने से हल्का हो सकता है।

+0

में शॉर्टकट का उपयोग कैसे करें, मैं पूछ सकता हूं कि आपको यह कैसे मिला? – SUB

+0

क्या कोई ऐसा कार्य है जो जांचता है कि विभाजन पहले से मौजूद है या नहीं? फिर एक नया विभाजन बनाने के बजाय मैं बस दूसरी विंडो में स्विच कर सकता हूं और सामान कर सकता हूं ... – SUB

+0

@SUB "मुझे यह कैसे मिला" के लिए मैं वर्तमान विंडो को बदलने के बिना 'विंडो' का उपयोग करने का एक तरीका ढूंढने की कोशिश कर रहा था उपयोगकर्ता के दृष्टिकोण से, इसलिए मैंने [': h window'] (http://vimdoc.sourceforge.net/htmldoc/windows.html#window) पढ़ा और विस्क्रिप्ट के साथ काम किया ... आपके दूसरे प्रश्न के लिए आपको पढ़ना चाहिए [ ': एच winnr()'] (http://vimdoc.sourceforge.net/htmldoc/eval.html#winnr())। यह जानकर कि 'winnr (' $ ')' आपको वर्तमान टैब में विभाजन की कुल संख्या देता है, जिसके साथ आप इसके साथ काम करने में सक्षम होना चाहिए। – statox

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