WORDs की पूर्णता


13

<C-p>और <C-n>वर्तमान दस्तावेज़ के भीतर पाए गए शब्दों को पूरा करने की अनुमति दें।

मैं कुछ नोट्स ले रहा हूं {0,1}^nऔर (E,D)कई बार लिख रहा हूं । ये कई शब्दों द्वारा गठित शब्द हैं।

वहाँ के साथ शब्दों को पूरा करने के लिए एक रास्ता है <C-p>और <C-n>(या अन्य संबंधित ins-completionआदेश)?


1
:abbreviateइसके बजाय आप बेहतर उपयोग कर सकते हैं। उदाहरण के लिए, :ab 01n {0,1}^nआदेश जारी करें । फिर, हर बार जब आप 01nइन्सर्ट मोड में एक स्वतंत्र शब्द के रूप में टाइप करते हैं, तो इसका विस्तार होगा {0,1}^n
२०० ’से असफल

@ 200_ असफल, धन्यवाद। मैंने संक्षिप्तीकरण के बारे में सोचा था लेकिन फिर भी मैं जानना चाहता था कि क्या यह संभव है ins-completion
गोंकेलो रिबेरो

जवाबों:


5

के साथ पूर्ण मोड डालें Ctrl-n

मुझे नहीं पता कि क्या आप अपने स्वयं के फ़ंक्शन (omnifunc की तरह) लिखने के बाहर WORD पूरा कर सकते हैं। हालाँकि, यदि आप यह नहीं समझते हैं कि आपके वर्णों से मेल खाने के लिए कोई शब्द क्या है, तो आप उन वर्णों को 'आइसकॉर्ड' में जोड़ सकते हैं

उदाहरण के लिए, मेरा 'iskeyword' डिफॉल्ट करता है

iskeyword=@,48-57,_,192-255

मैंने इसके बाद इसे अतिरिक्त वर्णों के ऊपर सेट किया

:set iskeyword=@,48-57,_,192-255,{,},,,(,),^

यह कहते हैं {, }, ,, (, ), और ^अक्षर हैं जो एक शब्द बनाने के लिए (क्या पहले से ही किया था के अलावा)

उसके बाद, टाइपिंग {Ctrl-nपूरी हो जाती है {0,1}^n(एक फ़ाइल में केवल उन्हीं दो उदाहरणों को दिया गया है)

नोट: यह :set iskeyword+=केवल अतिरिक्त सामान के साथ करना बेहतर होगा , इस प्रकार है:

:set iskeyword+={,},,,(,),^

इस तरह, आप मौजूदा सेटिंग में नए वर्णों को जोड़कर पहले से ही कुछ अन्य चीजें बनाते हैं जो एक कीवर्ड बनाते हैं।

संक्षिप्तीकरण के साथ विस्तार

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

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

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

मान लीजिए कि आपकी फ़ाइल में {0,1}^nबहुत कुछ है, और इसके अन्य रूपांतर नहीं हैं। टाइपिंग जो कि एक उंगली का खिंचाव है, इसलिए हो सकता है कि आप केवल टाइप करना चाहते हैं 01nया myvalueइसका विस्तार करना चाहते हैं {0,1}^n, लेकिन केवल तभी 01nया जब myvalueयह अपने आप में एक शब्द है (यानी, यदि यह किसी अन्य शब्द के भीतर दिखाई देता है, तो नहीं बदल दें)।

एनवीआई में, आप कर सकते हैं :abbrev 01n {0,1}^n। आप विम में भी ऐसा कर सकते हैं, लेकिन मैं :iabbrev 01n {0,1}^nकेवल मोड डालने के लिए विस्तार को प्रतिबंधित करने के लिए उपयोग करने की सलाह देता हूं ।

फिर, यदि आपके पास कुछ पाठ है (जहां |कर्सर का प्रतिनिधित्व करता है)

We find that the value 01n|

और फिर आप मारते हैं Escया Spaceया Tabअन्यथा अभिशापों को स्थानांतरित करते हैं, पाठ प्रतिस्थापित हो जाता है, और आपके पास (अंतरिक्ष का उपयोग करने के लिए उदाहरण)

We find that the value {0,1}^n |

और आप बिना किसी रुकावट के टाइपिंग जारी रख सकते हैं।

यह आमतौर पर सामान्य-प्रकार के ऑटो-सही (उदाहरण के लिए 'तेह' को 'में' बदलते हुए) के लिए उपयोग किया जाता है, लेकिन यह आपके उपयोग के मामले के लिए समान रूप से उपयोगी हो सकता है, फिर से यह मानते हुए कि आप समय से पहले मैपिंग स्थापित करने में कोई आपत्ति नहीं करते हैं।


मुझे लगता है कि यह :set iskeyword+={,},,,(,),^उम्मीद के मुताबिक काम करता है।
कार्ल यंगवे लेर्वाग

1
वास्तव में यह करता है। जब मैंने इसे आखिरी बार आज़माया, तो विम ने मुझे बताया कि यह एक सिंटैक्स त्रुटि थी। यह कहीं और रहा होगा। मेरे उत्तर को अपडेट करना।
जॉन ओ.एम.

@ JohnO'M। क्या आप इस संदर्भ को जोड़ सकते हैं कि abbreviateइस नौकरी के लिए बेहतर कैसे हो सकता है?
गोनकेलो रिबेरो

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