मैं एक विम विंडो के अंदर शेल कैसे खोल सकता हूं?


112

मैं खोल का उपयोग करके एक खोल खोल सकता हूं: विम में शेल कमांड, हालांकि मैं एक फ़ाइल को संपादित नहीं कर सकता और उसी समय शेल का उपयोग कर सकता हूं।

क्या कई विंडोज (या टैब) में विम को विभाजित करने का कोई तरीका है, और उनमें से एक में खोल दिया गया है?


1
वहाँ एक खोल पैच विम के लिए इस्तेमाल किया जा करने के लिए इस्तेमाल किया, लेकिन यह अब और संकलन नहीं है। आप एक वास्तविक शेल को प्राप्त करने जा रहे हैं, स्क्रीन या tmux का उपयोग करना है। यह सबसे बड़ी बात है जो मुझे याद आती है।
रैंडी मॉरिस

2
का डुप्लिकेट की तरह लग रहा stackoverflow.com/questions/1236563/...
ब्रैड Cupit

जवाबों:


85

नियोविम और विम कमांड के 8.2माध्यम से इस मूल का समर्थन करते हैं :ter[minal]

देखें terminal-windowजानकारी के लिए डॉक्स में।


5
यह vim = = 8.0 के लिए स्वीकृत समाधान होना चाहिए।
amath

3
टर्मिनल को लंबवत रूप से कैसे विभाजित किया जाए?
किरण कुमार कोटरी

2
@KiranKumarKotari कोशिश करें vsplit term://bashकि क्या आप Neovim का उपयोग कर रहे हैं।
प्रेट्र

4
8.0 या बाद के संस्करण के साथ, terminalकमांड विंडो को विभाजित करता है और विंडो स्टेटस बार पर विशेष रंग के साथ कमांड शेल देता है। स्लिक।
नोएलप्रोफ

@ किरनकुमारकोतारी खड़ी [ical] टेर [
मिनल

46

वैसे यह आपके ओएस पर निर्भर करता है - वास्तव में मैंने एमएस विंडोज पर इसका परीक्षण नहीं किया था - लेकिन कोंक वहां से सबसे अच्छा प्लगइन्स में से एक है।

वास्तव में, यह बेहतर हो सकता है, लेकिन काम करता है।


4
यदि आप प्लगइन्स को प्रबंधित करने के लिए Vundle का उपयोग कर रहे हैं, तो आप अपनी .vimrc फ़ाइल में बंडल 'jewes / Conque-Shell' जोड़ सकते हैं, और इसे स्थापित करने के लिए बंडल करें: बंडल करें।
मिंगजियांग शि

एक चीज़ जो देखने लायक है: vi के लिए + अजगर या + अजगर की आवश्यकता कुछ काम के वातावरण में हत्यारा हो सकती है।
cfi

यह अपडेट किया गया URL है (स्क्रीनशॉट के साथ): github.com/wkentaro/conque.vim
Walty Yeung

18

:vspया :sp- दो उदाहरणों में विम को विभाजित करता है लेकिन आप इसका उपयोग नहीं कर सकते हैं: उनमें से केवल एक में शेल।

क्यों नहीं टर्मिनल का एक और टैब प्रदर्शित करता है विम का दूसरा टैब नहीं। आप विचार को पसंद करते हैं तो आप इसे करने की कोशिश कर सकते हैं: Ctrl-shift-t.और के साथ उन दोनों के बीच इस कदम Ctrl - pageupऔरCtrl - pagedown

यदि आप केवल कुछ शेल कमांड चाहते हैं, तो आप किसी भी शेल कमांड का उपयोग कर सकते हैं !

उदाहरण के लिए :!./a.out


1
और वर्तमान में खुले निष्पादन योग्य चलाने के लिए आप vimपथ जादू का उपयोग कर सकते हैं जैसे::!./%
cprn

टर्मिनल का दूसरा टैब क्यों नहीं दिखाया गया - हर कोई एक GUI से ऊपर टर्मिनल एमुलेटर में vim का उपयोग नहीं कर Ctrlरहा है … -जब भी मैं आपके जवाब को मानता हूँ gnome-टर्मिनल या एक समान एमुलेटर मानता है।
törzsmókus

8

आप अपने टर्मिनल को विभाजित करने के लिए उपयोग कर सकते हैं tmuxया screen(दूसरा बिना पैच के केवल क्षैतिज विभाजन करने में सक्षम है)। लेकिन मुझे नहीं पता कि दोनों पैन में विम का एक उदाहरण है।


4
अगर आप इसे गिट से बनाते हैं तो स्क्रीन वर्टिकल स्प्लिट कर सकती है।
रैंडी मॉरिस

8

यदि आपको अभी तक पता नहीं चला है, तो आप अद्भुत स्क्रीन प्लगइन का उपयोग कर सकते हैं ।

कॉनक भी असाधारण है, लेकिन मुझे स्क्रीन बहुत अधिक व्यावहारिक लगती है (उदाहरण के लिए यह आपके कूड़े को "अभ्यस्त" नहीं करता है और आप बस उन आदेशों को भेज सकते हैं जिन्हें आप वास्तव में अपने बफ़र में संपादित करने के बाद चाहते हैं)


6

मुझे लगता है कि यह एक काफी पुराना सवाल है, लेकिन अब 2017 में। हमारे पास नवविम है, जो विम का एक कांटा है जो टर्मिनल समर्थन को जोड़ता है।

इसलिए इनवाइट करने से :termटर्मिनल विंडो खुल जाएगी। Tmux (टर्मिनल मल्टीप्लेक्स) का उपयोग करने के विरोध के रूप में इस समाधान की सुंदरता यह है कि आपके vimसेटअप के समान विंडो बाइंडिंग होगी । नवम विम के साथ संगत है, इसलिए आप मूल रूप से अपने कॉपी और पेस्ट कर सकते हैं .vimrcऔर यह सिर्फ काम करेगा।

अधिक फायदे हैं आप खुले टर्मिनल पर सामान्य मोड में जा सकते हैं और आप मूल कॉपी और संपादन कर सकते हैं। यह git commits के लिए भी बहुत उपयोगी है, मुझे लगता है कि आपके बफर में सब कुछ आप ऑटो-कम्प्लीट में उपयोग कर सकते हैं।

मैं इस उत्तर को अपडेट करूँगा क्योंकि विम भी टर्मिनल समर्थन जारी करने की योजना बना रहा है, शायद विम 8.1 में। आप यहां प्रगति का अनुसरण कर सकते हैं: https://groups.google.com/forum/# ​​.topic / vim_dev / Q9gUWGCeTXM

एक बार जब यह रिलीज़ हो जाता है, तो मेरा मानना ​​है कि यह tmux का उपयोग करने से अधिक बेहतर सेटअप है।


6
यह विम 8.0 I थिंक में जारी किया गया था
लैंगहेयर

3

शोगो का विमशेल , जो कि नियोकोम्प्लैचे के साथ उपयोग किए जाने पर फ़ाइल के नाम को पूरा कर सकता है


1

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


0

आप एक "स्क्रीन" प्रोग्राम खोलना चाहते हैं, स्प्लिट स्क्रीन, एक पर खोल खोल सकते हैं और दूसरे पर विम कर सकते हैं। मेरे लिये कार्य करता है।


-1 को रद्द कर दिया क्योंकि कोई स्पष्टीकरण नहीं था। इसके अलावा, मैंने वीम स्क्रीन प्लगइन समाधान का परीक्षण किया और यह ऐसा नहीं है कि मर्सीबुल के समाधान से अलग है। @mrcybul: मदद के लिए प्रयास करने के लिए टैंक। नीच होने से बचने के लिए, अन्य उत्तरों को ध्यान से पढ़ें और अपना खुद का जोड़ दें यदि आपको लगता है कि यह कुछ नया लाता है। यह भी शामिल करें कि कुछ मामलों में आपका समाधान बेहतर क्यों हो सकता है।
टिटौ

0

मैं वर्तमान में tmux का उपयोग कर रहा हूँ।

स्थापना: sudo apt-get install tmux इसे चलाएं: tmux

Ctrl + b इसके बाद Ctr +%: यह आपके टर्मिनल विंडो को दो ऊर्ध्वाधर हिस्सों में विभाजित करता है।

Ctrl + "तीर बाएं | तीर दायां": टर्मिनलों के बीच चलता है।

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