विम के सभी टेक्स्ट को लोअरकेस में कैसे बदलें? क्या यह भी संभव है?
विम के सभी टेक्स्ट को लोअरकेस में कैसे बदलें? क्या यह भी संभव है?
जवाबों:
यदि आप वास्तव में छोटे कैप का मतलब रखते हैं , तो नहीं, यह संभव नहीं है - जिस तरह किसी भी टेक्स्ट एडिटर में टेक्स्ट को बोल्ड या इटैलिक में बदलना संभव नहीं है (जैसा कि वर्ड प्रोसेसर के विपरीत है )। यदि आप पाठ को लोअरकेस में बदलना चाहते हैं, तो एक विजुअल ब्लॉक बनाएं और दबाएं u
(या U
अपरकेस में कन्वर्ट करने के लिए)। टिल्ड ( ~
) कमांड मोड में कर्सर के नीचे वर्ण के मामले को उलट देता है।
यदि आप Vim में सभी पाठ छोटे कैप्स में देखना चाहते हैं, तो आप guifont
विकल्प देखना चाहते हैं , या टाइप कर सकते हैं :set guifont=*
यदि आपका Vim स्वाद GUI फ़ॉन्ट चयनकर्ता का समर्थन करता है।
guu
एक पंक्ति को कम gu[motion]
करेगा , और पाठ की गति के मूल्य को कम करेगा। इसी तरह, gUU
और gU[motion]
उसी तरह से काम करें, केवल अपरकेस के लिए।
मुझे लगता है कि आप पाठ को कम करना चाहते हैं। समाधान बहुत सरल है:
ggVGu
स्पष्टीकरण:
U
अपरकेस (जैसे ggVGU
) के लिए पूंजी का उपयोग करें
मैंगल्डफ़ोर्ड के समाधान के समान, लेकिन कम और आम आदमी के अनुकूल
:%s/.*/\L&/g
:%s/.*/\L&
पर्याप्त होगा ( पूरी पंक्ति का चयन करने के g
बाद से ध्वज की आवश्यकता नहीं है .*
)
:%s/./\L&/g
, के बाद से / जी / एक ऑपरेशन है कि लाइन के लिए वैश्विक है दर्शाता है। हालाँकि मुझे क्या मिलता है &
। ऐसा क्यों जरूरी है?
&
इसके लिए यहाँ खड़ा है what was matched by the pattern
, इसलिए इसे इस प्रकार समझा जा सकता है: .*
द्वारा प्रतिस्थापित करें \Lowercase(what was matched by the pattern)
। ध्यान दें कि .
विश्व स्तर पर मिलान करने की तुलना में धीमी गति से है.*
एक बिल्ली की त्वचा के लिए कई तरीके ... यहाँ जिस तरह से मैंने अभी पोस्ट किया है:
:%s/[A-Z]/\L&/g
इसी तरह ऊपरी मामले के लिए:
:%s/[a-z]/\U&/g
मैं इस तरह से पसंद करता हूं क्योंकि मैं :%s/[pattern]/replace/g
हर समय इस निर्माण ( ) का उपयोग कर रहा हूं इसलिए यह अधिक प्राकृतिक है।
:%s/./\U&/g
भी काम करता है। यह संख्या और गैर-वर्ण वर्णों को अनदेखा करता है। क्या मुझे हो जाता है &
। क्यों पर्याप्त रूप से \ U (या \ L) नहीं है? क्या हम उसके लिए स्पष्टीकरण प्राप्त कर सकते हैं?
&
मिलान स्ट्रिंग के लिए एक स्टैंड-इन है। इसलिए \U&
मिलान किए गए स्ट्रिंग को बड़ा करता है ताकि इसे प्रतिस्थापन के लिए उपयोग किया जा सके।
उदाहरण और अधिक जानकारी के लिए कृपया इसे पढ़ें: http://vim.wikia.com/wiki/Switching_case_of_chailers
&
। \ L और \ U सही अर्थ बनाते हैं, लेकिन क्यों &
आवश्यक है?
उपयोग ggguG
gg: पहली पंक्ति में जाता है। गुजरात: लोअरकेस में परिवर्तन। G: अंतिम पंक्ति में जाता है।
आमतौर पर Vu(या VUअपरकेस के लिए) पूरी लाइन को लोअरकेस में बदलने के लिए पर्याप्त है क्योंकि Vपहले से ही पूरी लाइन का चयन करता है ताकि कार्रवाई को लागू किया जा सके।
टिल्डा ( ~) व्यक्तिगत पत्र के मामले को बदल देता है , जिसके परिणामस्वरूप ऊंट का मामला या समान है।
यह वास्तव में बहुत अच्छा है कि विभिन्न अवसरों से निपटने के लिए विम के पास कई अलग-अलग तरीके हैं और उन तरीकों को बड़े करीने से कैसे व्यवस्थित किया गया है।
उदाहरण के लिए, v- वास्तविक दृश्य मोड, और संबंधित V- दृश्य रेखा, और Ctrl+ Q- दृश्य ब्लॉक मोड (जो आपको ब्लॉक का चयन करने की अनुमति देता है, एक महान विशेषता कुछ अन्य उन्नत संपादकों को भी आमतौर पर Altकुंजी पकड़कर और पाठ का चयन करके प्रदान करते हैं)।
यदि आप यूनिक्स के स्वाद के तहत चल रहे हैं
:0,$!tr "[A-Z]" "[a-z]"
:%!tr A-Z a-z
!
एक बाहरी शेल कमांड, तो यह संकेत करता है $ man tr
(के रूप में करने का विरोध किया :help tr
) पता चलता है कि tr
के लिए है translate
।
:%0,$!tr [:upper:] [:lower:]