मैं विम में कमांड और इंसर्ट मोड के बीच कैसे बदल सकता हूं?


87

मैंने अभी एक आईडीई के रूप में विम का उपयोग करना शुरू किया। मैं इसे थोड़ी देर के लिए परीक्षण संपादक के रूप में उपयोग कर रहा था, इसलिए मुझे बहुत बार कमांड मोड में नहीं जाना पड़ा। लेकिन, जब से मैं जावा में कार्यक्रम करता हूं, मुझे फ़ाइल बनाने, इसे संकलित / चलाने ... आदि के लिए कमांड मोड पर जाना होगा।

समस्या यह है: मुझे दो मोड के बीच स्विच करने के लिए एक अच्छा तरीका चाहिए।

मैंने ऑनलाइन देखा और यह कहता है कि <Esc>कुंजी को ऐसा करना चाहिए, लेकिन यह मेरे लिए काम नहीं करता है (शायद यह जीवीएम के लिए नहीं है? मुझे नहीं पता क्यों।)

मुझे CTRLOकमांड मोड पर जाने के लिए हर बार प्रेस करना होगा; उस मोड से भागने की कुंजी काम करती है ... यह मुझे मोड डालने के लिए वापस लाता है। लेकिन क्या कमांड मोड और इंसर्ट मोड के बीच स्विच करने का एक बेहतर या आसान तरीका है?


2
Esc एक प्रविष्टि को समाप्त करने के लिए निश्चित रूप से सही कुंजी है। एक सम्मिलित विभिन्न तरीकों से शुरू किया जा सकता है। लोअरकेस मैं अपने कर्सर पर सम्मिलित करना शुरू करने के लिए, अपरकेस मैं लाइन की शुरुआत में सम्मिलित करना शुरू करने के लिए, आदि
वॉन काटो

एक खाली फ़ाइल से शुरू होकर, निम्नलिखित पात्रों को आपको इसमें "हैलो" शब्द के साथ एक फ़ाइल देनी चाहिए: ihello<ESC>:w hello.txt<ENTER>
वॉन काटो

8
ctrl-[कई कीबोर्ड पर Esc के विकल्प के रूप में काम करता है।
वॉन काटो

जवाबों:


52

लगता है कि आपका Vim आसान मोड में लॉन्च किया गया है । देखते हैं :help easy

यह तब होता है जब विम को -yतर्क के साथ या इसके रूप में लागू किया जाता है evim, या हो सकता है कि :set insertmodeआपके .vimrcकॉन्फ़िगरेशन में कहीं हो । स्रोत ढूंढें और इसे अक्षम करें; अस्थायी रूप से यह Ctrl+ के माध्यम से भी किया जा सकता है O :set noim Enter


मुझे लगता है वह यही था। मैंने अपनी फ़ाइल में इन्सर्ट-मोड सक्षम किया था। इसे हटाने के बाद, भागने की चाबी पूरी तरह से काम करती है। धन्यवाद!
रवीश चावला

8
यह आसान तरीका है !?
स्टैचू

5
आसान मोड, अब वह एक ऑक्सीमोरन है। क्या यह वह जगह है जहाँ से बाहर निकलना संभव है?
दावोस

1
@Davos वह मोड है जहाँ इसे इन्सर्ट मोड में शुरू किया गया है, इसलिए विडंबना यह है कि यह एक ऐसी विधा है जहाँ vim से बाहर निकलना संभव नहीं है: p "नॉर्मल मोड" बिलकुल आसान है + + :, x XD
Fuseteam

115

दबाने ESCसामान्य मोड, जहाँ आप भी दबा सकते हैं करने के लिए डालने मोड से इस्तीफा :एक आदेश में टाइप करने की। दबाएँiइन्सर्ट मोड डालने के लिए फिर से , और आप जाने के लिए अच्छे हैं।

मैं विम गुरु नहीं हूं, इसलिए कोई और व्यक्ति अधिक अनुभवी हो सकता है और आपको अन्य विकल्प दे सकता है।


3
हम में से अधिकांश के लिए, लेकिन स्वीकार किए गए उत्तर में विशिष्ट समस्या का जवाब था।
शाऊल एक्सल मार्टिनेज ऑर्टिज़

19

यह अन्य प्रश्नों में उल्लेख किया गया है , लेकिन सभी कीबोर्ड पर ctrl + [एक समान है ESC


मैं कभी नहीं जानता था कि, जब भागने की चाबी का समर्थन नहीं किया जाता है तो
शुवा

वाह, उस जानकारी के लिए धन्यवाद! Tmux नकल कीस्ट्रोक्स अनुक्रम अब बहुत अधिक समझ में आता है।
थॉमस लेग्रिस

4

का उपयोग करते हुए jj

मेरे मामले में, .vimrc (या gVim में यह _vimrc) नीचे सेटिंग है।

inoremap jj <Esc>   """ jj key is <Esc> setting

यह एक सामान्य रीमैपिंग है। मुझे लगता है कि इसमें थोड़ी देरी है क्योंकि यह अतिरिक्त चरित्र इनपुट की प्रतीक्षा कर रहा है। वैकल्पिक रूप से, एक MacBook पर KeyRemap4MacBook जैसे कुछ का उपयोग करके esc के लिए अपनी कैप्सलॉक कुंजी को रिमैप करें: github.com/tekezo/KeyRemap4MacBook
Koobz

मुझे यह आसान लगा कि टैब को esc पर रीमैप करना आसान है: 3
Fuseteam

3

Emacs से आ मैंने पाया कि मैं की तरह ctrl +काम करना चाबियाँ, और vim में मैं दोनों कि मिल गया है [ctrl + C]और [alt + backspace]डालने मोड से सामान्य मोड में प्रवेश करेंगे। आप कोशिश कर सकते हैं और देख सकते हैं कि उनमें से कोई भी आपके लिए काम करता है।


2

मेरे लिए, समस्या यह थी कि मैं रिकॉर्डिंग मोड में था । रिकॉर्डिंग मोड प्रेस से बाहर निकलने के लिए q। फिर Escमेरे लिए उम्मीद के मुताबिक काम किया।


1

कर्सर को इन्सर्ट मोड में ले जाने के लिए आप Alt + H, J, K, L का उपयोग कर सकते हैं।


1
नहीं, आप नहीं कर सकते। यह संभवतः आपके कॉन्फ़िगरेशन का रीमैप है।
शाऊल एक्सल मार्टिनेज ऑर्टिज़

@SaulAxelMartinezOrtiz हाँ, आप कर सकते हैं, तकनीकी तौर पर यह सामान्य मोड से बाहर निकलता है जिसके बाद आप सामान्य मोड में घूम सकते हैं: p
Fuseteam

0

उस तरह की समस्या के लिए एक और समाधान भी है, जो दुर्लभ है, मुझे लगता है, और आप इसे अनुभव कर सकते हैं, अगर आप ओएस एक्स सिएरा पर विम का उपयोग कर रहे हैं। वास्तव में, यह Esc बटन के साथ एक समस्या है - विम के साथ नहीं। उदाहरण के लिए, मैं Esc का उपयोग करके youtube पर फुलस्क्रीन वीडियो से बाहर निकलने में सक्षम नहीं था, लेकिन मैं कुछ महीनों तक उसके साथ रहा जब तक कि मुझे वही समस्या नहीं आई।

मुझे इसका हल मिल गया। यदि आप बाहरी लिंक का पालन करने के लिए पर्याप्त आलसी हैं, तो सिरी को बंद करने और गतिविधि मॉनिटर में प्रक्रिया को मारने में मदद मिली।

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