विम में चयन के लिए खोजें


107

C ++ लिखते समय विजुअल स्टूडियो के लिए vim और vim प्लगइन्स का उपयोग करता हूं। अक्सर, मैं खुद को एक फ़ंक्शन के भीतर एक स्ट्रिंग के लिए खोज करना चाहता हूं, उदाहरण के लिए हर कॉलobject->public_member.memberfunc()

मुझे पता है कि विम एक एकल शब्द की खोज के लिए एक सुविधाजनक तरीका प्रदान करता है, दबाकर *और #, यह सर्वव्यापी स्लेश /कमांड का उपयोग करके टाइप किए गए तारों की खोज भी कर सकता है । जब ऊपर वाले की तरह लंबी स्ट्रिंग के सभी उदाहरणों को खोजने की कोशिश की जाती है, तो इसे फिर से टाइप करने में थोड़ा समय लगता है /

क्या चयन के लिए खोज करने का कोई तरीका है? उदाहरण के लिए, के साथ हाइलाइट करें v, फिर कॉपी करें y, क्या बाद में पेस्ट करने का कोई तरीका है /? वहाँ एक आसान शॉर्टकट है?


जवाबों:


154

इस विम टिप की जाँच करें: नेत्रहीन चयनित पाठ के लिए खोजें

या आप केवल चयनित पाठ को y के साथ जोड़ सकते हैं और खोज मोड / पर जा सकते हैं, फिर आप अंतिम yanked पाठ को + + 0 के साथ पेस्ट कर सकते हैं


4
@CMS। धन्यवाद। महान टिप! उपयोग करना: यह देखने के लिए कि आपके रजिस्टर में क्या है और फिर रजिस्टर N में जो उत्कृष्ट है उसे पाने के लिए cntl-R N का उपयोग करें!
रॉब वेल्स

85

उत्तर

  1. आप जिस पाठ को खोजना चाहते हैं, उसे यांक दें
  2. q/p
  3. Enter

व्याख्या

q/वैनिला खोज के समान कार्य करता है, /सिवाय इसके कि आप कमांड मोड में हैं इसलिए pवास्तव में चरित्र टाइप करने के बजाय "पेस्ट" करते हैं p। तो ऊपर वाला आपके द्वारा खोजे जा रहे पाठ को कॉपी करेगा और उसे खोज में पेस्ट करेगा।

अधिक जानकारी के लिए टाइप करें :help q/


4
मुझे यह पसंद है, क्योंकि मुझे टाइपिंग <ctrl-r> इतनी असंस्कारी लगती है।
Jan

अति उत्कृष्ट! में emacs का उपयोग करना evil-mode, यह वास्तव में काम करता है, जबकि स्वीकृत उत्तर बुरी तरह से टूट जाता है (शायद Ctrlकुंजी के उपयोग के कारण )।
ईस्त्राद

2
साधारण स्ट्रिंग्स के लिए बढ़िया है, लेकिन रेगेक्स विशेष पात्रों से नहीं बचता, जैसा कि इस अन्य उत्तर की टिप्पणी में दिया गया है
Bluu

1
और आपको इसे हां करने की भी जरूरत नहीं है। इसे विजुअल पर सेलेक्ट करें q/gvp, जहाँ gvलास्ट विजुअल सिलेक्शन हो ...

1
@nwildner, q/gvpमेरे लिए काम नहीं करता है। क्या आप अपना सुझाव स्पष्ट कर सकते हैं?
bam

38

Q / का प्रयोग सिर्फ / के बजाय करें । (साथ ही क्यू : )। अब आप अपने आदेश और खोज इतिहास के माध्यम से VIM-edit कर सकते हैं! (कुछ समय के लिए Ctrl-N और Ctrl-P आज़माएं)।


10

मैंने बस (उत्कृष्ट पुस्तक प्रैक्टिकल विम के माध्यम से) सीखा कि इसके लिए एक प्लगइन है। आप GitHub पर प्लगइन पा सकते हैं ।

प्लगइन आपको एक दृश्य चयन के साथ *और खोज करने देता है #


5
ध्यान दें कि अन्य उत्तर किसी भी बचने नहीं है। उन तरीकों का उपयोग करके, किसी भी चयनित मेटाचैकर को वर्तमान magicसेटिंग के आधार पर, शाब्दिक रूप से नहीं खोजा जाएगा । यह खोज को मेटाचैकर्स के लिए विफल भी बना सकता है जिसके लिए संतुलन की आवश्यकता होती है। यहां उल्लिखित प्लगइन चयनित पाठ की खोज करने से पहले बच जाएगा।
कर्ट हचिंसन

1
यह काम करता है, लेकिन दुर्भाग्य से, आप nअगले पाए गए आइटम पर जाने के लिए उपयोग नहीं कर सकते , जबकि Cory और CMS के दृष्टिकोण अनुमति देते हैं ..
Ayrat

2

आप वास्तव में नेत्रहीन रूप से पाठ का चयन कर सकते हैं और अगली घटना की खोज करने के लिए * और # दबा सकते हैं ... यह एक ही काम करेगा, एकमात्र चेतावनी है:

चयन में व्हॉट्सएप किसी भी व्हाट्सएप से मेल खाता है, जब खोज ("हैलो दुनिया की खोज" एक पंक्ति के अंत में "हैलो" भी मिलेगी, अगली पंक्ति की शुरुआत में "दुनिया" के साथ)।

http://vim.wikia.com/wiki/Search_for_visually_selected_text


2
मेरे लिए, पाठ को नेत्रहीन रूप से चयन करना * केवल मेरे दृश्य चयन को बढ़ाता है।
मार्टिन जकूबिक

आप डिफ़ॉल्ट रूप से तब तक नहीं कर सकते जब तक कि आप पृष्ठ से मानचित्रण को vimrc में नहीं डालते हैं ..
Ayrat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.