2009-04-12 9 views
48

मैं विम में भीआप vim के कमांड इतिहास के माध्यम से कैसे खोज करते हैं?

(reverse-i-search)`': 

निम्न खोज के लिए अपने पिछले आदेश का एक शब्द भी दर्ज करना चाहते हैं, और आप पूर्ण आदेश मिलता है।

मैं विम

q: 

में कालानुक्रमिक इतिहास उपकरण पता हालांकि, यह है कि रिवर्स खोज के रूप में उपयोगी नहीं है।

टर्मिनल में आपके पास वीम में समान रिवर्स खोज कैसे हो सकती है?

+0

@ मासी: यह उपयोगी क्यों नहीं है? आप अभी भी उस इतिहास में खोज सकते हैं, इसलिए यह इसे अधिक शक्तिशाली बनाता है – sumek

+0

रिवर्स-आई-सर्च अनुकरण के लिए कार्यान्वयन वास्तव में सरल है, नीचे मेरा जवाब देखें। –

उत्तर

62

अपने पिछले कमांड के पहले अक्षर दर्ज करें और < ऊपर > तीर (या Ctrl + p) दबाएं।

:set li<up> 
:set lines=75 

इतिहास विकल्प चिह्नित करें और प्रकार q: बड़ा पर्याप्त मूल्य के लिए

:set history=1000 
+0

यदि आपके पास मैक पर विज़र है, तो कोशिश करें: इसके बजाय लाइन = 48 सेट करें। किसी कारण से, खिड़की 75 लाइनों के साथ बहुत अधिक फैली हुई है। –

+0

75 उदाहरण के उद्देश्य के लिए है लेकिन विस्सर के लिए धन्यवाद। मुझे इस बारे में पता नहीं था हालांकि मुझे कभी जरूरत नहीं है। लेकिन मुझे यह पसंद है! –

+0

मैं टर्मिनल विम लेकिन मैकवीम का उपयोग नहीं करता हूं। –

11

Vim's commandline history के लिए दस्तावेज़ यहां दिए गए हैं, Vim's commandline history पर दस्तावेज़ों के इस भाग को भी देखें जो इतिहास में कुंजी बाइंडिंग को कवर करता है। ऐसा लगता है कि आप :foo कह सकते हैं और फिर foo से शुरू होने वाले अंतिम आदेश को खोजने के लिए ऊपर तीर दबा सकते हैं।

58

यह सेट सामान्य मोड में आदेशों विंडो खोलने के लिए करने के लिए मत भूलना। नियमित वीम कमांड का उपयोग करके आप यहां खोज/संपादित कर सकते हैं। आप सामान्य मोड में शुरू करते हैं। कमांड निष्पादित करने के लिए Enter दबाएं।

यह दृष्टिकोण आपको पूरे कमांड में खोजने की सुविधा देता है न कि केवल लाइन की शुरुआत से।

+3

पर कॉल करने के लिए bash कमांड लाइन में, अब मुझे पता है कि मुझे कभी-कभी बफर से बाहर निकलने के बजाय कमांड इतिहास क्यों मिलता है। – sargas

5

मैं भी इस बात के लिए देख रहा था और फैसला किया मैं एक कार्यान्वयन अप सजा का विरोध नहीं कर सका, इसलिए यहां (अंत में सोच क्यों यह कुछ समय के लिए निर्मित किया गया था नहीं करने के बाद) तुम जाओ: https://github.com/goldfeld/ctrlr.vim

यह शैल की तरह काम करना चाहिए - अच्छी तरह से अभी भी कुछ बुनियादी चीजें गायब हैं (जैसे कि अगले मैच में जाने के लिए फिर से^आर दबाकर), लेकिन जो भी मैं उपयोग करता हूं वह इस रिलीज में है, और मैं बाकी को जोड़ने की योजना बना रहा हूं आने वाले हफ्तों के रूप में मुझे समय मिलता है।

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