जब विम "अधिक" पेजर का उपयोग करके सामग्री प्रदर्शित करता है तो मैं एक खोज कैसे कर सकता हूं?


17

मैं एक चर का मूल्य देखना चाहता हूं, इसलिए मैं कमांड चलाता हूं

:let

विम --more--पेजर का उपयोग करके इस कमांड के परिणाम प्रदर्शित करता है ।
मैं इसे एक वाक्यांश के लिए कैसे खोज सकता हूं, जैसे html?
मैंने अधिक पेजर के लिए मैन पेज देखा है जो कहता +/है कि खोज के लिए उपयोग किया जाता है लेकिन यह काम नहीं करता है, न ही /कम पेजर के अनुसार।


1
AFAIK, यह एक विम आंतरिक कमांड है - यह 'अधिक' जैसा दिखता है, लेकिन कार्यक्रम को विम द्वारा नहीं बुलाया जाता है (प्रमाण: यह विंडोज में भी काम करता है)। आप अभी भी एक चर नाम की शुरुआत लिख सकते हैं, विम से इसे पूरा करने के लिए कहें (जैसे कि Ctrl-d)।
वैनसेलर

धन्यवाद, जब मैं चर नाम टाइप करता हूँ - या वास्तव में बहुत कुछ - विम इसे स्वीकार नहीं करता है - यह सिर्फ -- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quitकमांडलाइन के साथ संकेत देता है ।
the_velour_fog

1
:let तब लिखें Enter, हिट न करें , लेकिन Tabया Ctrl-d- आपके पास मौजूदा चर की एक सूची होगी, जो "अधिक" शैली में प्रदर्शित होती है - अब हिट करें Esc, कुछ अक्षर लिखें, हिट Tabया Ctrl-dफिर से लिखें ... और तब तक जब तक आप वैरिएबल नहीं पाते। चाहते हैं। वास्तव में, एक चर के मूल्य को देखने के लिए, शायद आपको echo इसके बजाय उपयोग करना चाहिए ? (या set variable-name?विकल्पों के लिए)
वैनलेसर

1
बहुत अच्छा, दोनों Ctrl-dऔर गूंज चाल अच्छी तरह से काम किया, धन्यवाद!
the_velour_fog

जवाबों:


16

यह moreपेजर नहीं है , यह विम का आंतरिक और न्यूनतर पेजर है जिसमें खोज क्षमताएं नहीं हैं।

लेकिन आप :redirकमांड का उपयोग कर सकते हैं :

:redir @a    redirect output of following commands to register a
:let         list every current option and its value
G<CR>        go straight to the end of the listing and make it disappear
:redir END   stop redirection
:tabnew      open a new buffer in a new window in a new tab page
"ap          put from register a

... तो नियमित Vim कमांड का उपयोग करें।


ओह बहुत अच्छा, पता करने के लिए एक महान आदेश thats! धन्यवाद
the_velour_fog

7
थोड़ा सरल::redir @b|sil let|redir end
क्रिश्चियन Brabandt

11

विम 8 में एक execute()कमांड है जिससे आप कमांड का आउटपुट प्राप्त कर सकते हैं। इसे वर्तमान बफ़र पर देखने के लिए:

:put =execute('let')

विम 7 के लिए आप कैप्चर.विम का उपयोग कर सकते हैं । यह एक प्लगइन है जो @ romainl के उत्तर से आदेशों को लपेटता है और आपको इसका उपयोग करने देता है

:Capture let

यह जानकर अच्छा लगा, धन्यवाद। जब मैं अपग्रेड करूंगा, तब मैं इसे देखूंगा। Vim 7 Im पर नए बफर में बड़ी मात्रा में आउटपुट को कैप्चर करने के लिए स्टेव लोश के क्लैम प्लगइन का उपयोग करते हुए। यह भी अच्छी तरह से काम करता है
the_velour_fog
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.