कैसे अस्थायी रूप से विम से बाहर निकलें और वापस जाएं


302

मैं विम से कैसे बाहर निकल सकता हूं, नहीं :q, और फिर संपादन जारी रखने के लिए वापस जा सकता हूं

जवाबों:


570

टर्मिनल निम को * निक्स के स्वाद पर ग्रहण करना:

अपने चल रहे विम को निलंबित करने के लिए

Ctrl + Z

प्रक्रिया को निलंबित कर देगा और अपने शेल पर वापस आ जाएगा

fg

फिर से शुरू होगा (के लिए लाने के अयस्क जी अपनी निलंबित विम दौर)।

एक नया खोल शुरू करने के लिए

का उपयोग कर एक उपधारा शुरू करें:

:sh

(के रूप में विन्यस्त)

:set shell?

या

:!bash

के बाद:

Ctrl+ Dया (exit , लेकिन इतना क्यों टाइप करें?)

खोल को मारने और विम पर वापस जाने के लिए।


5
psअग्रभूमि प्रक्रियाओं को देखने के लिए unix.stackexchange.com/questions/6115/…
व्लाद

1
क्या होगा अगर मैं अपनी फ़ाइल को संपादित करते समय अपने सर्वर को जारी रखना चाहता हूं। उदाहरण के लिए, nodemon app.jsमान लें कि मैं करता हूं (नोडोड आपके लिए फाइल एडिट पर सर्वर को रिफ्रेश करता है) और फिर मैं अपने एडिम एडिटिंग पर लौटना चाहता हूं। क्या मैं दो अलग टर्मिनल विंडो के बिना कर सकता हूं?
कोस्टा

5
या jobs(पढ़ने के लिए मेरे साथ) अग्रभूमि प्रक्रियाओं का दौरा करने के लिए और अधिक पठनीय शीर्षक। फिर fg %2दूसरे का चयन करने के लिए उदा ।
isomorphismes

यदि यह आपके लिए काम नहीं कर रहा है और control-z'पूर्ववत' के रूप में कार्य करता है, तो behave mswinयह देखने के लिए अपने vimrc की जांच करें । यदि इसे हटा दिया जाता है और control-zयह काम करेगा
schuess

3
अगर आप टाइप करते हैं तो आप खिड़कियों पर वापस जा सकते हैंexit
जॉनी रा

107

आप :shअपने डिफ़ॉल्ट शेल से बाहर निकलने के लिए उपयोग कर सकते हैं फिर $ exitशेल प्रॉम्प्ट पर टाइप करने से आप विम पर लौट आएंगे।


1
काश मैं इसे और कठिन बना सकता। यही कारण है कि: शेल मौजूद है।
रैंडी मॉरिस

8
निष्पक्ष होने के लिए, कभी-कभी आप एक ही वातावरण चाहते हैं, एक उप-खोल वातावरण नहीं। इसलिए, यदि आप Vim से पूरी तरह बाहर निकलने के लिए पर्यावरण चर में बदलाव की तलाश कर रहे हैं, तो आप CTRL-z /: sus करना चाहेंगे।
टैंगो ब्रावो

टर्मिनल को बंद करने से बचने के लिए $ psकॉल $ exitकरने से पहले हम यह पता लगा सकते हैं कि क्या हम एक उप-शेल में हैं । यहां यह पाया गया (मैंने वेबसाइट पर उल्लिखित संकेत संकेतक की कोशिश नहीं की है)।
डेनियल

34

आप शेल मोड पर अस्थायी रूप से स्विच कर सकते हैं:

:! <command>

जैसे कि

:! ls

14

यदि आप एक यूनिक्स प्रणाली पर हैं, Ctrl+Z विम को निलंबित कर देगा और आपको एक शेल देगा।

fgवापस जाने के लिए टाइप करें। ध्यान दें कि संपादन करते समय विम एक स्वैप फ़ाइल बनाता है, और निलंबित करना विम उस फ़ाइल को नहीं हटाएगा (आप सब के बाद विम को बाहर नहीं कर रहे हैं)। डंबल टर्मिनलों पर, यह विधि vi का उपयोग करते हुए एडिट-कंपाइल-एडिट साइकल के लिए काफी मानक थी । मुझे अभी पता चला है कि मेरे लिए, टाइपिंग पर gVim कम से कम है Z


13

आप यह भी कर सकते हैं कि :susखोल में गिरने के लिए और पीछे से fg


5

विम से बाहर निकलने के कई तरीके हैं और जब आप वापस आते हैं तो सब कुछ समान होता है। Vim के भीतर बहुत ही अच्छे दस्तावेज हैं जो विभिन्न तरीकों से समझाते हैं कि यह किया जा सकता है। आप प्रासंगिक सहायता पृष्ठ तक पहुंचने के लिए निम्नलिखित आदेश का उपयोग कर सकते हैं::help usr_21

आपको एक संक्षिप्त सारांश देने के लिए, आपके सत्र को समाप्त करने और छोड़ने के विभिन्न तरीके हैं:

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

  2. सत्र - यह विम के उदाहरणों के बीच अपने सत्र को बचाने का सही तरीका है। यहां तक ​​कि अगर आप सही मायने में विम को छोड़ देते हैं, तो जब आप लौटते हैं तो आपका सत्र आपके लिए होगा। यह शायद आप क्या देख रहे हैं।


5

उपयोगकर्ता ज़ेन के उत्तर का विस्तार करने के लिए , आप ~/.vimrcबैश और विम के बीच त्वरित टॉगल करने की अनुमति देने के लिए अपनी फ़ाइल में निम्न पंक्ति जोड़ सकते हैं :

noremap <C-d> :sh<cr>

पांच साल बाद मैं सिर्फ यह उल्लेख करना चाहूंगा कि सीडी का उपयोग करना शायद एक बुरी सलाह है क्योंकि यह विम डिफॉल्ट व्यवहार को अधिलेखित करता है। डिफ़ॉल्ट रूप से बफर में ctrl-d scoll विंडो। vimdoc.sourceforge.net/htmldoc/scroll.html#CTRL-D
xaa

3

बस डाल दिया fgऔर अपने सबसे हाल ही में निलंबित कार्यक्रम पर वापस जाएं।


3

यदि आप Neovim का उपयोग कर रहे हैं , तो आप निम्न कार्य कर सकते हैं:

  • :terminal एक टर्मिनल विंडो को लाने के लिए कमांड।
  • अपने टर्मिनल सामान करो
  • प्रकार exitटर्मिनल प्रक्रिया को मारने के लिए करें
  • Neovim पर लौटने के लिए कोई भी कुंजी दबाएँ

0

यदि आपको अपने माउस का उपयोग करने में कोई आपत्ति नहीं है:

  • अपना टर्मिनल शुरू करें,
  • किसी फाइल का चयन करें,
  • ओपन टैब चुनें ।

यह टर्मिनल पर एक नया टैब बनाता है जिस पर आप विम को चला सकते हैं। अब टर्मिनल से / पर शिफ्ट होने के लिए अपने माउस का उपयोग करें। मैं हमेशा टाइप करने ( :shellऔर बाहर निकलने) के बजाय इसे पसंद करता हूं ।

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