2012-05-03 5 views
6

मुझे लगता है कि एक system कॉल जो वर्तमान बफर के आधार पर एक फ़ाइल उत्पन्न कर देगा और फिर एक vsplit में उत्पन्न फ़ाइल को खोलने, या यदि एक प्लगइन लिखने के लिए कोशिश कर रहा हूँ पहले से ही खुला है, जब स्रोत फ़ाइल बदल जाती है तो यह इसे अपडेट कर देगा।vsplit में खोलें संपादन योग्य फ़ाइल लेकिन vimscript में मूल स्थिति में रहने के

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

यहां मैं जो कोशिश कर रहा हूं, किसी भी मदद की सराहना की जाएगी।

execute 'keepjumps silent ! ' . s:cmd . ' ' . s:src_file . ' > ' . s:dst_file 

if exists("s:outputbufnr") && bufexists(s:outputbufnr) 
    execute 'keepjumps ' . bufwinnr(s:outputbufnr) 
else 
    " execute "keepjumps vnew " s:dst_file 
    execute "keepjumps rightbelow vertical new " . s:dst_file 
    let s:outputbufnr=bufnr(s:dst_file) 
endif 
क्या मैं हालांकि keepjumps अपने पिछले स्थिति के लिए कर्सर लौट जाना चाहिए, हालांकि, कि मामला हो प्रतीत नहीं होता है से

उत्तर

3

यह vim में पूर्वावलोकन विंडो का सही उपयोग की तरह लगता है। जब आप पूर्वावलोकन विंडो में फ़ाइल खोलते हैं (:pedit /path/to/file) फ़ोकस वर्तमान विंडो से नहीं लिया जाता है। जब भी आपको wincmd P के साथ आवश्यकता हो, तो आपको सीधे पूर्वावलोकन विंडो पर कूदने की क्षमता भी होगी। आप :pclose के साथ कहीं से भी पूर्वावलोकन विंडो बंद कर सकते हैं। अगर फ़ाइल बदल गई है और आप अद्यतन प्राप्त करना चाहते हैं तो आप अपडेट प्राप्त करने के लिए फिर से :pedit /path/to/file कर सकते हैं।

एक और छोटा सा लाभ, भले ही आपके पास पूर्वावलोकन विंडो में कोई फ़ाइल हो, फिर भी आप :qa के बजाय एक सादे :q के साथ विम छोड़ सकते हैं।

+0

हां, ऐसा लगता है कि एनईआरडीटी का उपयोग करता है, अब मुझे यह पता लगाना है कि इसे लंबवत रूप से खोलने के लिए कैसे और क्षैतिज रूप से नहीं खोलना है। – JaredMcAteer

+0

@OriginalSyn 'vert pedit' – Benj

+0

@ बेन्ज मुझे यह महसूस करना चाहिए था कि ... धन्यवाद। – JaredMcAteer

1

मुझे लगता है कि आप विभाजन के बाद wincmd p उपयोग करना चाहते हैं, यह आप पिछली विंडो आप में थे में वापस डाल देंगे।

+0

यह फ़ाइल के प्रारंभिक उद्घाटन को ठीक करता है, लेकिन अद्यतन भाग स्रोत फ़ाइल की दूसरी पंक्ति पर कूदता रहता है। वहाँ कोई विचार है? – JaredMcAteer

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