विम: शब्द बनाम शब्द


84

मैं विम सीख रहा हूँ और के बीच अंतर के आसपास मेरे सिर लपेटो नहीं कर सकते हैं wordऔर WORD

मुझे विम मैनुअल से निम्नलिखित मिला है।

एक शब्द में अक्षरों, अंकों और अंडरस्कोर, या अन्य गैर-रिक्त वर्णों के अनुक्रम होते हैं, जो सफेद स्थान (रिक्त स्थान, टैब) के साथ अलग होते हैं। इसे key आइसकीवर्ड ’विकल्प के साथ बदला जा सकता है। एक खाली रेखा को एक शब्द भी माना जाता है।

एक WORD में सफेद रिक्त स्थान के साथ अलग किए गए गैर-रिक्त वर्णों का एक क्रम होता है। एक खाली लाइन को एक शब्द भी माना जाता है।

मुझे लगता है wordऔर WORDबस एक ही चीज हैं। वे दोनों सफेद रिक्त स्थान के साथ अलग-अलग गैर-रिक्त वर्णों का एक क्रम हैं। एक खाली रेखा को दोनों wordऔर माना जा सकता है WORD

प्रश्न:
उनमें क्या अंतर है?
और क्यों / जब किसी का प्रयोग करेंगे WORDसे अधिक word?

मैंने पहले ही Google और SO खोज कर ली है, लेकिन उनके खोज-इंजन की व्याख्या WORDसिर्फ wordइतनी है जैसे मैं खोज रहा हूं Vim word vs wordऔर निश्चित रूप से कुछ उपयोगी नहीं मिलेगा।


2
यह समझाया गया है और यहां तक ​​कि इसका वर्णन भी किया गया है :h 03.1। उपयोगकर्ता पुस्तिका की जाँच करें।
बजे

10
खोजते समय आपके प्रश्न ने चीजें बदल vim WORD and word
दीं

1
@ Al.G। जान के अच्छा लगा। धन्यवाद!
अष्टकप नोव

2
अंग्रेजी में अस्पष्टता है 'या'। उनके कहने का मतलब यह है: एक शब्द में एक अनुक्रम होता है (अक्षर या अंक या अंडरस्कोर), XOR (अन्य गैर-रिक्त वर्णों का एक क्रम), जिसे सफेद स्थान (रिक्त स्थान, टैब) के साथ अलग किया जाता है।
user1433150

@ user1433150 जो सहायक था धन्यवाद। लेकिन उस स्पष्टीकरण के साथ भी कुछ गड़बड़ है। वे कहते हैं: "या श्वेत स्थान (रिक्त स्थान, टैब) के साथ अलग किए गए अन्य गैर-रिक्त वर्णों का एक क्रम", लेकिन अगर यह सच है तो इसका सीधा सा अर्थ है कोई भी शब्द। तो यह मुझे लगता है कि वे कहते हैं "इसका एक छोटा सेट XOR सब कुछ"। क्या वो सही है?
चार्ली पार्कर

जवाबों:


115
  • एक शब्द हमेशा से सीमांकित किया जाता है खाली स्थान के
  • एक शब्द गैर-कीवर्ड वर्णों द्वारा सीमांकित किया गया है , जो विन्यास योग्य हैं। व्हॉट्सएप वर्ण कीवर्ड नहीं हैं, और आमतौर पर अन्य वर्ण (जैसे ()[],-) नहीं हैं, न ही। इसलिए, एक शब्द आमतौर पर एक शब्द से छोटा होता है; शब्द-नेविगेशन अधिक बारीक है।

उदाहरण

This "stuff" is not-so difficult!
wwww  wwwww  ww www ww wwwwwwwww    " (key)words, delimiters are non-keywords: "-! and whitespace
WWWW WWWWWWW WW WWWWWW WWWWWWWWWW   " WORDS, delimiters are whitespace only

1
ध्यान दें कि आप does W ’क्या करता है, इसे बदलने के लिए: सेट आइकवर्ड का उपयोग कर सकते हैं। अधिक जानकारी के लिए देखें: 'iskeyword' मदद।
जेसी रोस

ऊपर का उदाहरण गलत है। डबल कोट्स भी शब्द हैं (या 'आइसकॉर्ड' विकल्प के आधार पर एक शब्द का हिस्सा)। इस प्रकार इसे 'डब्ल्यू' के साथ भी चिह्नित किया जाना चाहिए। साथ ही पानी का छींटा।
फ्लैशरनर

@Flashrunner जो 'iskeyword' विकल्प पर निर्भर करता है , जैसा कि जेरेड रॉस ने उल्लेख किया है। डिफ़ॉल्ट रूप से, यह काम करता है जैसा मैंने लिखा है।
इंगो करकट

:set iskeyword=a-z,A-Z,\",- |This |"stuff" |is |not-so |difficult|! :set iskeyword=a-z,A-Z |This |"|stuff|" |is |not|-|so |difficult|! |- वह जगह है जहां 'डब्ल्यू' बंद हो जाता है। जैसा कि आप देख सकते हैं यह हमेशा एक शब्द है।
फ्लैशरनर

जारेड रॉस की टिप्पणी भी गलत है। iskeyword परिवर्तन करता है जो 'w' करता है, 'W' नहीं।
फ्लैशरनर

20

यदि मैं viw("इनर सिलेक्ट word") करता हूं, जबकि मेरा कर्सर appनिम्न पंक्ति में है, तो यह चयन करता है app:

app/views/layouts/admin.blade.php

यदि मैं करता हूं viW( WORD) जबकि मेरा कर्सर एक ही स्थान पर है, तो यह वर्णों के पूरे अनुक्रम का चयन करता है। A में WORDऐसे अक्षर शामिल wordsहैं, जो अंग्रेजी के शब्दों की तरह हैं, जैसे, तारांकन, स्लैश, कोष्ठक, कोष्ठक, आदि।


ऊपर दिए गए स्पष्टीकरण का अंतिम पैराग्राफ अस्पष्ट है। यह कुछ महत्वपूर्ण शब्दों को याद कर रहा है जिससे अंतर स्पष्ट हो जाता है।
प्रार्थना

15

विम प्रलेखन के अनुसार: (एच ०३.१)

  • एक शब्द एक गैर-शब्द चरित्र पर समाप्त होता है, जैसे ",", "-" या ")"।

  • एक सफेद स्थान के साथ एक शब्द सख्ती से समाप्त होता है। यह सामान्य अर्थों में एक शब्द नहीं हो सकता है, इसलिए अपरकेस।

जैसे।

           ge      b          w                             e
           <-     <-         --->                          --->
    This is-a line, with special/separated/words (and some more). ~
       <----- <-----         -------------------->         ----->
         gE      B                   W                       E

यदि आपका कर्सर m (अधिक ऊपर) है

  • एक शब्द का अर्थ होगा 'अधिक' (अर्थात 'द्वारा सीमांकित') 'गैर-शब्द चरित्र'

  • जबकि एक शब्द का अर्थ होगा 'अधिक)।' (यानी केवल सफेद-स्थान द्वारा सीमांकित)

इसी तरह, यदि आपका कर्सर पी पर है (विशेष का)

  • एक शब्द का अर्थ होगा 'विशेष'
  • जबकि एक शब्द का अर्थ होगा 'विशेष / अलग / शब्द'

14

पिछले उत्तरों को पूरक करने के लिए ... मैं इसे इस तरह से कल्पना करता हूं; शब्द से बड़ा है, यह अधिक शामिल है ... यहां छवि विवरण दर्ज करें


0

इसे कहने का एक और तरीका है। यदि उर कोडिंग है, और सीमांकक और चीजों को रोकने वाली रेखा के माध्यम से आगे बढ़ना चाहते हैं जो "()। []:: W का उपयोग करते हैं।

यदि आप उन लोगों को दरकिनार करना चाहते हैं और बस शब्दों को कूदना चाहते हैं, जैसे उपन्यास या लघु कहानी है, तो W का उपयोग करें।

छोटे w कोडिंग के लिए संभवतः सबसे अधिक इस्तेमाल किया जाने वाला एक है। निर्भर करता है कि आप कोड में कहां हैं।


0

"शब्द" की परिभाषा को समझते हुए यह एक व्याकरण की समस्या है।

मैं इस परिभाषा के चीनी संस्करण में सबसे पहले अटक गया (मिस-ट्रांसलेशन हो सकता है)।


परिभाषा निश्चित रूप से सही है, लेकिन इसे इस तरह पढ़ा जाना चाहिए:

A word consists of:
   [(a sequence of letters,digits and underscores),
or (a sequence of other non-blank characters)], 
separated with white space (spaces, tabs, <EOL>).

व्हॉट्सएप के पात्रों की जरूरत तब ही पड़ती थी जब वे एक ही तरह के दो शब्दों का परिसीमन करते थे।


कोष्ठक में अधिक उदाहरण निम्नानुसार हैं:

(उदाहरण ^ और $% ^ उदाहरण) तीन "शब्द": (उदाहरण), (^ और $% ^) और (उदाहरण)

(^ & ^ & ^ ^ && ^ & ^ ) दो "शब्द": (^ और ^ और ^ ^) और ((&& ^ ^ ^ )

(हम स्टैकओवरफ़्लो में हैं) पाँच "शब्द": (हम), ('), (पुनः), (में) और (स्टैकओवरफ़्लो)

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