मैं एक स्क्रिप्ट लिख रहा हूं जिसमें मैं प्रोग्रामेटिक रूप से खोजों को नियंत्रित करना चाहता हूं, और उन्हें हाइलाइट किया जाना चाहिए। खोज() फ़ंक्शन परिणाम हाइलाइट नहीं किए गए हैं (मुझे लगता है), इसलिए उस फ़ंक्शन का उपयोग करना मेरे लिए उपयोग नहीं है।एक स्क्रिप्ट से नियंत्रण खोज और हाइलाइटिंग
मैं जो करना चाहता हूं वह एक चर के लिए खोज करने के लिए 'सामान्य /' कमांड का उपयोग करना है, लेकिन यह सरल नहीं लगता है। मैं स्क्रिप्ट आदेश:
execute 'normal /' . my_variable . '\<CR>'
(या अन्य रूपों vim टिप यहाँ में सुझाव के रूप में: http://vim.wikia.com/wiki/Using_normal_command_in_a_script_for_searching)
लेकिन यह कुछ भी नहीं है। मैं स्क्रिप्ट लाइन के निष्पादन के बाद कमांड लाइन में सही खोज शब्द को देख सकता हूं, लेकिन दस्तावेज़ में फोकस है, खोज रजिस्टर को बदला नहीं गया है, और कर्सर ने कोई खोज नहीं की है। (ऐसा लगता है कि < सीआर> प्रवेश नहीं कर रहा है, हालांकि कोई त्रुटि नहीं फेंक दी गई है - और हाँ, मैंने शाब्दिक^एम भी उपयोग करने का प्रयास किया है।)
मैं कम से कम खोज रजिस्टर को नियंत्रित करके नियंत्रित कर सकता हूं इस:
execute 'let @/ ="' . a:term .'"'
और फिर स्पष्ट बात एक करने के लिए हो रहा है:
normal n
लेकिन उस 'सामान्य एन' अगर मैं एक स्क्रिप्ट में इसे चलाने के लिए कुछ भी नहीं करता है। सर्च रजिस्टर सेट करना काम करता है, यदि स्क्रिप समाप्त होने के बाद मैन्युअल रूप से 'n' दबाता है (और हाइलाइटिंग दिखाई देती है, क्योंकि hlsearch चालू है)। कर्सर स्थित होने पर मुझे परवाह नहीं है, मैं सिर्फ रजिस्टर पैटर्न को हाइलाइट करना चाहता हूं। लेकिन लिपि में 'सेट hlsearch' के विभिन्न संयोजन या तो काम नहीं करते हैं।
मुझे पता है कि मैं 'मैच()' का उपयोग कर सकता हूं, लेकिन मैं इसे नियमित खोज हाइलाइटिंग के साथ काम करना चाहता हूं, और मुझे आश्चर्य है कि मैं क्या गलत कर रहा हूं। यह कुछ आसान होना चाहिए लेकिन मैं इसे नहीं देख रहा हूं। किसी भी मदद के लिए धन्यवाद।
मैंने अपना खोज कमांड आज़माया है। 'execute" सामान्य/^ --- \ "' काम करता है। लेकिन 'execute' सामान्य/^ --- \ ''नहीं है। –
ppan