2011-02-04 16 views
5

मुझे पूरा शब्द खोजने के लिए पता है मुझे /\<mypattern\> का उपयोग करना चाहिए। लेकिन यह डैश (+ U002d) वर्ण और /\<-\> के लिए हमेशा सत्य नहीं है। मैं /\<\%d45\> भी कोशिश करता हूं और यह भी विफल रहता है। किसी को कारण पता है?विम (डैश कैरेक्टर) में पूरे शब्द की खोज

EDIT2: @bobbogo उल्लेख किया पानी का छींटा के रूप में 'iskeyword' में नहीं है तो मैं :set isk+=- और /\<-\> काम करता है जोड़ने!

Edit1: मैं विम /\<word\> में लगता है कि केवल अक्षरांकीय वर्णों के लिए वैध है और हम विराम चिह्न वर्ण (EDIT2 देखें) के लिए इसका इस्तेमाल नहीं करना चाहिए। मुझे अपना प्रश्न बदलना चाहिए और पूछना चाहिए कि हम पूरी दुनिया के रूप में विराम चिह्न चरित्र कैसे खोज सकते हैं उदाहरण के लिए मैं चाहता हूं कि मेरी खोज "ए? बी" में प्रश्न चिह्न और "??" और "एबीसी?" वैध नहीं होना चाहिए।

उत्तर

4

\< एक गैर शब्द चरित्र और एक शब्द भी चरित्र के बीच शून्य चौड़ाई सीमा से मेल खाता है। एक शब्द चरित्र क्या है? यह आईएसके विकल्प (:help isk) द्वारा निर्दिष्ट है।

- के बाद से अपने ISK विकल्प में नहीं है, तो - कभी नहीं शुरू कर सकते हैं एक शब्द है, इस प्रकार \<- होगा कभी नहीं मैच।

मुझे नहीं पता कि आप क्या चाहते हैं, लेकिन /\>-\<hello-word में डैश से मेल खाएगा। ओपी के अनुसार

+0

धन्यवाद। अब मैं अपनी समस्या का कारण जानता हूं। मैं '-r' नहीं 'test-r' और न ही' -rtest' और न ही 'test-rtest' – Saman

+0

जैसे पैटर्न ढूंढना चाहता हूं, मैंने इसे पाया और इसे मेरे प्रश्न (संपादित 2) – Saman

+2

में जोड़ दिया, मैं इस मैपिंग का उपयोग डैश टॉगल करने के लिए करता हूं मेरे कीवर्ड: 'nnoremap टी- 'सेट सेट'। (अनुक्रमणिका (विभाजन (और isk, ','), '-') == -1? '+': '-')। '= - : iskeyword सेट करें? ''। –

0

हमेशा regex के लिए खोज कर सकते हैं \byourwordhere\b

+0

उत्तर के लिए धन्यवाद लेकिन मुझे लगता है कि \ b विम में नहीं है। Vim में हमें "\\ <" and "\\>" – Saman

+0

का उपयोग करना चाहिए ठीक है, आप वहां जाते हैं, समस्या हल हो जाती है :) – Blindy

0

। आदेश खोज में पानी का छींटा - शामिल करने के लिए सिर्फ निष्पादित करें:

:set isk+=- 

यही सब।

उदाहरण: जब आप color-primary के पत्र c से अधिक प्रेस * यह पूरे चर नाम न सिर्फ color के लिए के लिए खोज करेंगे।

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