2012-12-26 75 views
32

द्वारा मुझे बताया गया था ZSH में आप command की तरह कुछ कर सकता है और फिर जब तुम मारा दिया आदेश के आधार पर इतिहास फ़िल्टर होगा। लेकिन जब मैं इसे आज़माता हूं तो यह इतिहास को बैश करता है जैसे इतिहास। क्या यह डिफ़ॉल्ट रूप से अक्षम है?छनन ZSH इतिहास आदेश

उत्तर

50

हिट Ctrl+R, कुछ अक्षर टाइप यह, इन पत्रों के साथ पिछले आदेश मिलेगा पिछले निष्कर्षों के माध्यम से जारी रखने के लिए मार Ctrl + R रहते हैं।
बैश, zsh (और अन्य गोले मुझे लगता है) में काम करता है।

क्या मैं व्यक्तिगत रूप से करना चाहते है: कुछ पत्र, प्रेस Up, पिछले आदेशों एक ही पत्र के साथ शुरू दिखाई टाइप करें। बहुत शक्तिशाली, मुझे यह पसंद है।
आप कुंजी आप history-beginning-search-backward और history-beginning-search-forward करना चाहते हैं के लिए बाध्य किया है।

मामले में यह आप के लिए पर्याप्त नहीं है, zsh विकल्पों में से एक बहुत कुछ है, Zsh Line Editor में देखते हैं और हमें बताने के लिए प्रयास करें।
बैश के लिए, कम शक्तिशाली लेकिन अधिक आम, Bash commands for history

+0

बस सही, धन्यवाद। – Guu

+1

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

+12

'CTRL + R' गेट से बाहर काम नहीं करेगा यदि आप zsh में विम बाइंडिंग का उपयोग कर रहे हैं। यदि आप हैं, तो अपनी ~/.zshrc फ़ाइल में 'bindkey "^ आर" इतिहास-वृद्धिशील-खोज-पिछड़ा' जोड़ने का प्रयास कर रहे हैं। – croceldon

4

यह सुविधा fish में उपलब्ध है, लेकिन ऐसा लगता है कि किसी ने zsh plugin बनाया है। यह मानक जेडएचएच में उपलब्ध नहीं है।

7

उपयोग विस्मयादिबोधक बिंदु:

> !<starts-with this string> 

आप सभी आदेशों कि के साथ शुरू के माध्यम से ऊपर/नीचे तीर कर सकते हैं। मैं वीम के साथ फाइल खोलने के लिए अपना पिछला कमांड प्राप्त करने के लिए हर समय "! V" का उपयोग करता हूं।

तुम भी स्ट्रिंग की शुरुआत मिलान परे खोज करने के लिए एक प्रश्न चिह्न का उपयोग कर सकते,

> !?status 

"Git स्थिति" मिल सकता है।

+3

यह मेरे लिए काम नहीं करता है। मैं टाइप करता हूं! Vi और दबाएं और मैं पिछला कमांड देखता हूं, न कि पिछले vi "vi" से शुरू होता है। क्या इस काम के लिए मुझे एक सेटिंग चालू करनी है? –

+0

@ लैरी हेस्टिंग्स, आपको पहले 'एंटर' दबाएं। फिर आप कमांड इतिहास के माध्यम से जाने के लिए 'ऊपर' दबा सकते हैं। –

+1

यह वाक्यविन्यास कहां है? – bennlich

1

उपयोग percol गतिशील खोज और Ctrl के साथ अपने इतिहास के माध्यम से नेविगेट करने के लिए - आर

  • percol स्थापित: sudo pip install percol
  • अपने .zshrc फाइल करने के लिए zsh-history-search कोड स्निपेट जोड़ें।

एक के बाद Ctrl - आर, आप एक ही विंडो में अपने पूरे इतिहास देख सकते हैं। एक खोजशब्द (गतिशील रूप से) खोजना जो नीचे सूचीबद्ध है। आप सूची को ऊपर और नीचे नेविगेट करने के लिए कुंजी-बाइंडिंग (इस emacs like कॉन्फ़िगरेशन) का उपयोग कर सकते हैं और अंततः चयन कर सकते हैं।

यहां sudo make install चयनित इतिहास में उपलब्ध सभी sudo install आदेशों की खोज है।

percol_history_search_example

मुद्दों चयनित आदेश डालें।

2

zsh में सक्रिय vim keybindings के साथ आप vi कमांड मोड में vi-history-search-पिछवाड़े (/) का उपयोग कर सकते हैं।