CTRL-r के समान खोज बैश इतिहास को अग्रेषित करने में असमर्थ


203

मैं अपने बैश इतिहास को उसी तरह खोजने की कोशिश कर रहा हूं जैसे CTRL- rलेकिन आगे की दिशा में।

यह मेरे लिए एक दर्द रहा है, जब मैं सिर्फ एक बार बहुत बार हिट करता हूं CTRL- rफिर से पिछली कमांड को खोजने के लिए।

आप अपने बैश इतिहास को उसी तरह से कैसे खोज सकते हैं जैसे रिवर्स खोज में?

जवाबों:


321

आप आगे भी खोज सकते हैं। बैश इन्फो मैनुअल से, " 8.2.5 सर्चिंग इन कमांड्स इन द हिस्ट्री ":

इतिहास में किसी विशेष स्ट्रिंग के लिए पिछड़े को खोजने के लिए, टाइप करें C-r। टाइपिंग C-sइतिहास के माध्यम से आगे की खोज करता है।

Ctrl-S के साथ समस्या यह है कि कभी-कभी XON / XOFF प्रवाह नियंत्रण (उदाहरण के लिए कोनोला में) से टकराता है। खोज एक रीडलाइन सुविधा है, और आपको इसे किसी अन्य कुंजी से बांधने में सक्षम होना चाहिए। अद्यतन: सरल और बेहतर सिर्फ चलाने के द्वारा XON / XOFF को अक्षम करना है

stty -ixon

4
यह शानदार है, लेकिन मैं अपने .profile में स्टिक-ऐक्सन जोड़ता हूं और यह नए टैब के लिए काम नहीं करता है। इस काम को करने के बारे में कोई विचार? मैं XON / XOFF को डिफ़ॉल्ट रूप से अक्षम करना पसंद करूंगा।
जॉन गैलाघर

13
मामले में किसी और के पास वही मुद्दा है जो मैंने किया है - यदि आप इसे जोड़ते हैं। तो यह प्रभावी नहीं होता है। यह तभी होता है जब आप इसे .bash_profile में जोड़ते हैं कि जादू होता है! एक महान टिप के लिए धन्यवाद - यह मुझे सालों से पागल कर रहा था।
जॉन गैलाघर

12
@JohnGallagher नोट करने के लिए महत्वपूर्ण है कि .bash_profileऔर .profileकेवल लॉग-इन गोले के लिए sourced रहे हैं। मैं इसे .bashrc(जिसमें मैं स्रोत हूं .profile) डालूंगा ।
विक्टर ज़मानियन

13
[[ $- == *i* ]] && stty -ixonयहाँ वर्णित
mMontu

3
यदि आप PuTTY का उपयोग कर रहे हैं और आप .bash_profileजिस मशीन से जुड़ना चाहते हैं, उस पर बनाए नहीं रख सकते हैं, तो यह जवाब सुपरसुअर एक उपचार का काम करता है।
आलसी

41

सबसे अच्छी चाल IMHO के साथ pgupऔर pgdown। बस अपने में डाल दिया~/.inputrc

"\e[5~": history-search-forward
"\e[6~": history-search-backward

लॉगआउट / लॉगिन, पहले अक्षर टाइप करें और फिर pgupया pgdownइतिहास में खोज करने के लिए

ctrl-R शब्दों से युक्त सभी पंक्तियों को खोजें, जबकि इतिहास-खोज-आगे की खोज लाइनें शब्दों से शुरू होती हैं


2
आप इन 2 पंक्तियों को /etc/inputrc(जैसे कि उबंटू में) बेच सकते हैं ।
बाज़

2
मैं इसे ऊपर और नीचे तीर से बांधना पसंद करता हूं: "\ e [A": इतिहास-खोज-पिछड़ा और "\ e [B": इतिहास-खोज-आगे
shmup

क्या होगा अगर यह बैश में कोई प्रभाव नहीं है?
सॉरेन

26

आप https://github.com/dvorka/hstr को आज़माना चाहते हैं, जो बैश इतिहास को फ़िल्टर करने की "सुझाव बॉक्स शैली" के लिए अनुमति देता है (वैकल्पिक) मेट्रिक्स आधारित आदेश के साथ अर्थात यह आगे और पीछे दोनों दिशाओं में बहुत अधिक कुशल और तेज़ है:

यहां छवि विवरण दर्ज करें

यह आसानी से और / या के लिए बाध्य हो सकता हैCtrl-rCtrl-s


5
मुझे प्यार हो गया है। उबंटू पर स्थापित करने के लिए त्वरित निर्देश:sudo add-apt-repository ppa:ultradvorka/ppa; sudo apt-get update; sudo apt-get install hh; hh --show-configuration >> ~/.bashrc;
CivFan

14

मैं आमतौर पर ESCटर्मिनल में प्रेस करता हूं , और फिर द >। यह कम से कम रीसेट करता है और फिर आप बहुत कम CTRL+ अक्सर क्लिक करने की कोशिश कर सकते हैं R


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