2009-10-06 22 views
609

मैं अपने gvim 7.2 विंडो के नीचे recording संदेश देख रहा हूं।विम रिकॉर्डिंग क्या है और इसे कैसे अक्षम किया जा सकता है?

यह क्या है और मैं इसे कैसे बंद कर सकता हूं?

+40

अच्छे के लिए vim रिकॉर्डिंग बंद करने के लिए, 'जोड़ने के अपने .vimrc फ़ाइल को मैप क्ष '। –

+1

मुझे विश्वास नहीं है कि आप रिकॉर्डिंग बंद करना चाहते हैं! मैं वास्तव में एक परेशान पॉपअप दिखाऊंगा 'क्या आप निश्चित हैं?' अगर कोई इसे बंद करने के लिए कहता है (या शायद विंडोज 10 अपडेट की तरह विकल्प देना चाहते हैं)। – 0xc0de

उत्तर

833

आप रिकॉर्डिंग शुरू द्वारा क्ष< पत्र > और आप फिर से क्ष टाइप करके इसे समाप्त कर सकते हैं।

रिकॉर्डिंग विम की वास्तव में उपयोगी विशेषता है।

यह आपके द्वारा टाइप की गई सभी चीज़ों को रिकॉर्ड करता है। इसके बाद आप @< अक्षर > टाइप करके इसे फिर से चला सकते हैं। रिकॉर्ड खोज, आंदोलन, प्रतिस्थापन ...

विम IMHO की सबसे अच्छी सुविधा में से एक।

+83

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

+43

ध्यान देने योग्य एक और बात यह है कि आप रिकॉर्डिंग को फिर से चलाने के लिए @ 100 से पहले किसी भी नंबर पर हिट कर सकते हैं (100 @) आपके कार्यों को 100 बार –

+6

चलाएंगे, आप इसे बाद में डाल सकते हैं, रजिस्टर/yank के साथ रजिस्टर संपादित करके। लेकिन मुझे नहीं पता कि आप एक मैक्रो के हिस्से के रूप में रिकॉर्डिंग चालू या बंद क्यों करना चाहते हैं। ('q' सम्मिलित मोड में टाइप किए जाने पर कुछ भी प्रभावित नहीं करता है।) – anisoptera

12

इसका मतलब है कि आप "रिकॉर्ड मैक्रो" मोड में हैं। यह मोड q टाइप करके एक रजिस्टर नाम के बाद दर्ज किया जाता है, और q टाइप करके इसे बाहर निकाला जा सकता है।

+0

यह वास्तव में किसी भी रजिस्टर नाम के बाद 'q' टाइप करके दर्ज किया जाता है, जो 0-9, एज़, एजेड, और " – ephemient

+3

असल में, यह q {0-9a-zA-Z"} है - आप एक मैक्रो रिकॉर्ड कर सकते हैं कोई भी रजिस्टर (अंक, पत्र, "द्वारा नामित)। यदि आप वास्तव में इसका उपयोग करना चाहते हैं ... तो आप @ के साथ एक रजिस्टर की सामग्री निष्पादित करते हैं। देखें: 'मदद q' और': help @ 'अगर आप हैं इसका उपयोग करने में रुचि रखते हैं। – Cascabel

22

जैसा कि अन्य ने कहा है, यह मैक्रो रिकॉर्डिंग है, और आप इसे q के साथ बंद कर देते हैं। Here's a nice article कैसे और कैसे उपयोगी है इसके बारे में।

92

टाइप : एच और अधिक जानने के लिए रिकॉर्डिंग।

       *q**recording* 
q{0-9a-zA-Z"}   Record typed characters into register {0-9a-zA-Z"} 
         (uppercase to append). The ' q ' command is disabled 
         while executing a register , and it doesn't work inside 
         a mapping . {Vi: no recording} 

q      Stops recording . (Implementation note: The ' q ' that 
         stops recording is not stored in the register , unless 
         it was the result of a mapping) {Vi: no recording} 


                 *@* 
@{0-9a-z".=*}   Execute the contents of register {0-9a-z".=*} [count] 
         times. Note that register ' % ' (name of the current 
         file) and ' # ' (name of the alternate file) cannot be 
         used. For " @= " you are prompted to enter an 
         expression . The result of the expression is then 
         executed. See also | @: |. {Vi: only named registers} 
18

टाइप q मैक्रो रिकॉर्डिंग शुरू होता है, और रिकॉर्डिंग बंद हो जाता है जब उपयोगकर्ता q फिर से करता है।

के रूप में जॉय एडम्स उल्लेख किया है,, रिकॉर्डिंग निष्क्रिय करने के लिए अपने घर निर्देशिका में .vimrc में निम्न पंक्ति जोड़ें:

map q <Nop> 
+6

केवल प्रश्न के हिस्से को "बंद करने के तरीके" के बारे में उत्तर देता है। ठीक है, यह रिकॉर्डिंग को अप्राप्य बनाता है, प्रभावी रूप से इसे बंद कर देता है - कम से कम कोई भी उम्मीद नहीं करता है कि इस कोड के लिए एक अलग धागा है, मुझे लगता है, मुझे शामिल है। – n611x007

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