2009-03-22 4 views
14

संभव डुप्लिकेट:
How to run a terminal inside of vim?कोई वीआईएम विंडो टर्मिनल पर पूर्ण कैसे बनाता है?

मैं विभाजन और vsplit और खुले के साथ अच्छी तरह से मेरे कार्यक्षेत्र सेटअप कर सकते हैं ... लेकिन मैं करूंगा की तरह बस एक टर्मिनल के रूप में विभाजन से एक का उपयोग करने के लिए खिड़की। मुझे पता है कि अतिरिक्त xterm खोलना और इसे रणनीतिक रूप से रखना को पूरा करने में सक्षम हो सकता है लेकिन कई बार मैं एक खिड़की में टेलनेट कर रहा हूं और मेरे हाथ टर्मिनलों के बीच Alt टैबबिंग से को चोट पहुंचाने लगे हैं।

अपडेट: नीचे दिए गए सुझावों के आधार पर मैंने जो सबसे अच्छी चीज बनाई, वह स्क्रीन का उपयोग करना था और वास्तव में इसकी खिड़कियों में से एक पर कब्जा है।

+0

मुझे लगता है कि आप ConqueTerm की कोशिश करना चाहिए। https://github.com/rson/vim-conque स्क्रीन का महान लेकिन कंक्रीट टर्म वास्तव में अच्छी तरह कार्यान्वित किया गया है। (मेरी राय में) –

उत्तर

13

GNU Screen में एक साथ विम और एक खोल चलाने पर विचार करें। Vim wiki में विम और स्क्रीन को एकीकृत करने की जानकारी है। स्क्रीन विम के समान "विंडोज़" में विभाजित करने का समर्थन करती है। यहां तक ​​कि कड़े वीम + स्क्रीन एकीकरण के उदाहरण के लिए here देखें।

एक बाहरी इंटरैक्टिव कमांडलाइन ऐप से सीधे एक विम बफर को बांधने के लिए एक विशेषता है कि कई लोग लंबे समय से चाहते थे, लेकिन जाहिर है कि यह करना मुश्किल है, विम कैसे कार्यान्वित किया जाता है, और विम देव अनिच्छुक हैं इसे बदलने के लिए (तर्कसंगत अच्छे कारणों के लिए)।

लेकिन कुछ सफल कहानियां रही हैं। विशेष रूप से लिस्प समुदाय ने विम में Emacs SLIME (एक इंटरैक्टिव लिस्प प्रॉम्प्ट) को पुन: उत्पन्न करने का प्रयास किया है। उदाहरण के लिए VimClojure और Limp देखें। उनमें से एक शायद एक खोल चलाने के लिए बदला जा सकता है, लेकिन यह कुछ काम लेगा।

-3

आपको इसे छोड़ना होगा मुझे डर है - इसे विम में करने का कोई तरीका नहीं है।

+0

बिल्कुल असत्य :-) –

+0

प्रत्येक 5 अन्य उत्तर सभी मौजूदा उचित समाधानों का उत्तर देते हैं। – respectTheCode

3

यदि आप विम में हैं, तो आप ": sh" कमांड के साथ उप-खोल से बाहर निकल सकते हैं, और फिर "बाहर निकलें" के साथ विम पर वापस जा सकते हैं। या आप केवल विम को निलंबित कर सकते हैं और उस मूल खोल पर वापस जा सकते हैं जिसे आपने इसे नियंत्रण-जेड से शुरू किया है, फिर "fg" (अग्रभूमि) के साथ vim पर वापस जाएं।

या "vim-shell" ऐड-ऑन इंस्टॉल हो सकता है।

2

पर Brian Carper's answer विस्तार, आप में इस फेंक सकता है आपके ~/.screenrc:

startup_message off 
# Launch 2 screens on startup 
split 
# Have bash login so $PATH will be updated 
screen -t Vim bash -l -c 'vim' 0 
focus 
screen -t canvas bash -l 
# switch focus back to vim 
focus up 

फिर जब आप टाइप screen, आप शीर्ष और तल पर एक bash खिड़की पर एक विम खिड़की होगा। आप <C-a><Tab> के साथ स्क्रीन विंडो के बीच स्विच कर सकते हैं।

8

vimshell पैच जैसा लगता है कि आप क्या देख रहे हैं।

+0

कोशिश की लेकिन बहुत अच्छा नहीं। यह गैर-ncurses संकुल का समर्थन नहीं करता है। –

+0

लिंक अब मर चुका है, यह उसी डोमेन पर एक इंडेक्स पेज पर रीडायरेक्ट करता है। – SidOfc

14

मैं का उपयोग करें: http://code.google.com/p/conque/wiki/Usage

आप लिख सकते हैं: ConqueTerm बैश: नए और अलग हो गए। और आपके पास एक कार्यरत टर्मिनल विंडो है। :)

+0

यह बिल्कुल सही समाधान था जिसके साथ मैं अंत में खुश था। मैंने स्क्रीन समाधान, vimshell समाधान की कोशिश की; लेकिन मेरा अंतिम व्यक्तिगत प्राथमिकता ConqueTerm है। –

2

विम के लिए कंक शेल भी ऐसा करता है।

enter image description here

http://www.vim.org/scripts/script.php?script_id=2771

http://code.google.com/p/conque/

+1

यह उपयोगी है! एक बात जो मुझे नहीं पता कि कैसे करना है (अपने स्क्रीनशॉट को देखकर आप इसे कर रहे हैं लेकिन रुबी के बजाय पायथन के साथ) यह है कि जब मैं फ़ाइल सहेजता हूं तो मैं एक मौजूदा उपयोगिता का उपयोग करके अपना टेस्ट सूट चलाने के लिए चाहता हूं। यह काम करता है, लेकिन अगर मैं उस विंडो में इंसर्ट मोड में नहीं हूं, तो यह बफर को उपयोगिता के STDOUT को नहीं लिख पाएगा, इसलिए मुझे हर बार उस विंडो में जाना होगा और यह देखने के लिए 'i' दबाएं कि चश्मा क्या विफल । क्या आप इन्टरनेट मोड में नहीं होने पर भी बफर को उपयोगिता के STDOUT को हमेशा लिखने के लिए विंडो प्राप्त करने के तरीके के बारे में जानते हैं? चीयर्स! –

+1

मैंने अभी पाया 'चलो जी: ConqueTerm_ReadUnfocused = 1' जो बस यही करता है। दुर्भाग्यवश यह कहता है कि वीआईएम के साथ कुछ स्क्रिप्टिंग सीमाओं के कारण, यह एक गैर-केंद्रित स्थिति में विंडो के साथ स्क्रॉल करने की अनुमति नहीं देगा। बहुत बुरा। : / –

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