2010-07-25 8 views
5

क्या विम के लिए कोई अच्छी परियोजना/सत्र प्रबंधक है? एक सत्र (या प्रोजेक्ट) फ़ाइलों की नामित सूचियां है, उदा। "Bitonic_sort" फ़ाइलों की पहचान कर सकता है "~/ए/bitonic_sort.sk" "~/बी/bitonic_sort.smt2", आदिविम के लिए सबसे अच्छा (लिनक्स-संगत) बफर/सत्र प्रबंधक क्या है?

(तर्क) जहाँ मैं कई अलग अलग से फ़ाइलों को संपादित करने की जरूरत है मैं एक परियोजना है स्थान, और जब भी मैं काम फिर से शुरू करता हूं, उन्हें मैन्युअल रूप से खोलने के लिए बहुत बोझिल होता है। (इसलिए, ऐसा लगता है कि इस बहन प्रश्न, Favorite (G)Vim plugins/scripts? पर नर्डड्री जैसी चीजें सामने आईं, काम नहीं करेगी)। मुझे अलग-अलग परियोजनाओं के लिए अलग-अलग सत्रों (यानी फाइलों की सूचियों) की भी आवश्यकता है, न केवल हाल ही की एक दस्तावेज़ सूची।

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

उत्तर

7

विम में अंतर्निहित सत्र प्रबंधक है। अपने वर्तमान सत्र उपयोग सहेजने के लिए:

:mks session1.vim 

यह मूलतः session1 नाम के एक विम स्क्रिप्ट बनाने।vim है, जो यदि आप इसे इस तरह स्रोत या शुरू विम अपने खोला फ़ाइल को पुनर्स्थापित देगा:

vim -S session1.vim 

अपने सहेजे गए सत्र के ऊपर लिख करने के लिए, :mks! your_saved_session.vim का उपयोग करें। कस्टम कुंजी मानचित्र के साथ मिलें और यह समाधान होगा। विम सत्र के बारे में अधिक जानकारी के लिए :help :mks पढ़ें। विम में विचार प्रबंधक हैं जो काफी समान हैं। से अधिक पढ़ें: :help :mkview

बफर के बीच स्विच करने के लिए, आप FuzzyFinder का उपयोग कर सकते हैं; लेकिन मैं इस कुंजी नक्शा पसंद करते हैं:

nmap <C-tab> :bn<CR> 
imap <C-tab> <ESC>:bn<CR>i 

.vimrc करने के लिए इसे जोड़ें और मैं सिर्फ फ़ायरफ़ॉक्स टैब्स की तरह बफ़र्स के बीच स्विच करने Ctrl + Tab का उपयोग कर सकते हैं। उममीद है कि इससे मदद मिलेगी।

+0

बढ़िया, धन्यवाद! मैं फाइलों के _lot_ के साथ काम करता हूं, और फ़ज़ीफिंडर शानदार लगता है! एक मामूली बात - विम का फ़ाइल नाम पूरा करना उपयोगी है, लेकिन मैं इसे सक्रिय सत्र को बाहर निकलने के लिए सहेजना चाहता हूं ... क्या आपको यह पता होना है कि यह कैसे करें? – gatoatigrado

+2

हाँ, यह एक अच्छा विचार है। थोड़ा गुगल करने के बाद मुझे यह विम स्क्रिप्ट [विम-सत्र] (http://github.com/xolox/vim- सत्र) मिलती है। यह कुछ अतिरिक्त सुविधाओं के साथ आता है जिनकी मुझे आवश्यकता नहीं है, इसलिए मैंने कुछ कोड उधार लिया और इसके साथ आया: 'ए वी विमलेवपे * यदि v: this_session! =' '| निष्पादन "mks!"। v: this_session | endif'। इसे अपने .vimrc में जोड़ें और बाहर निकलने पर आपका वर्तमान सत्र स्वचालित रूप से सहेजा जाएगा। – tungd

+0

वाह, आप बहुत ही अच्छे हैं, बहुत बहुत धन्यवाद !!! – gatoatigrado

2

मुझे यकीन है कि आप के लिए वास्तव में क्या कह रहे हैं नहीं कर रहा हूँ ... लेकिन आप जब vim में फ़ाइलों को खोलने टैब-पूरा होने पर चालू करना चाहते हैं, तो आपके ~/.vimrc से जोड़ें:

" Auto-complete file names after <TAB> like bash does. 
set wildmode=longest,list 
set wildignore=.svn,CVS,*.swp 

इसके अलावा, screen पर एक नज़र डालें। आदमी पृष्ठ से:

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

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

मैं जिस मूलभूत सेटअप का उपयोग करता हूं वह एक विम विंडो, एक संकलन विंडो और एक परीक्षण/डिबगिंग विंडो है।


और चूंकि हम vim के बारे में बात कर रहे हैं, इस पोस्ट की जाँच: वहाँ में शांत तोड़ मरोड़ और spiffy सामान का Post your Vim config. बहुत सारे।

+0

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

+0

ओह, डुह, आईडीई की तरह है। मुझे नहीं पता कि यह कैसे करना है। –

0

आप vim-कार्यक्षेत्र प्लगइन कोशिश कर सकते हैं, अपने सत्र प्रबंधन सुविधाओं स्वचालित होते हैं और अपेक्षाकृत सरल (vim-सत्र की तुलना में): https://github.com/thaerkh/vim-workspace

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