बेहतर टर्मिनल स्वतः पूर्णता (मैटलैब के समान)


19

यदि आप में से किसी ने कभी मतलाब का इस्तेमाल किया है, तो आपने उस कार्यक्रम में कमांड विंडो की कार्यक्षमता पर ध्यान दिया होगा। मुझे आश्चर्य है कि क्या मैक टर्मिनल में समान कार्यक्षमता को सक्षम करना संभव है।

यह इस तरह काम करता है: मान लीजिए कि आपने इस टर्मिनल सत्र में पहले से दो आदेशों का उपयोग किया है। पहले आपने a cd ~और फिर a का उपयोग किया ls -la

मैक * सहित हर * निक्स टर्मिनल में, यदि आप हिट करते हैं Up Arrow, तो यह पहले ls -laकमांड को दिखाएगा और, यदि आप इसे दो बार हिट करते हैं, तो cd ~कमांड। यह भी खूब रही। लेकिन, मैटलैब में, यदि आप पहले अक्षर टाइप करते हैं cऔर फिर हिट करते हैं Up Arrow, तो यह आपको नहीं दिखाएगा ls, बल्कि सीधे चलेगा cd ~। यह आपके पास बहुत समय बचाता है जब आपके पास बड़ी कमांड और पहले से उपयोग किए गए कमांड की एक लंबी सूची होती है।

क्या यह संभव है?

जवाबों:


28

बैश शेल में, आप इतिहास में एक रिवर्स बुद्धिमान खोज करने के लिए Control+ हिट कर सकते हैं R। कमांड टाइप करना शुरू करें और शेल पहले से दर्ज कमांड के साथ स्वत: पूर्ण हो जाएगा।

फिर आप या तो Enterकमांड को फिर से निष्पादित करने के लिए प्रेस कर सकते हैं , कमांड को संपादित करने के लिए बाईं या दाईं ओर तीर का उपयोग कर सकते हैं, या अन्य संभावित पूर्णताओं के माध्यम से Control+ Rको चक्र करने के लिए दबाकर रख सकते हैं ।

बुद्धिमान खोज उल्टा


9

इसे ~ / .inputrc के रूप में सहेजें:

# make the up and down arrows cycle through commands that match the start of a line
"\e[A": history-search-backward
"\e[B": history-search-forward

विकल्प-अप \e\e[Aऔर नियंत्रण-पी होगा \C-p। आप नियंत्रण-वी दबाकर अन्य प्रमुख संयोजनों के बच दृश्यों को देख सकते हैं।


1
उन उपयोगकर्ताओं के लिए, जिनके पास अभी तक नहीं है ~/.inputrc, बस एक बनाएं।
Sibbs जुआ

स्वीकृत उत्तर होना चाहिए
ripper234

1
"ए ई [ए": कमांड नहीं मिला
लुई

2

एक और चीज जो आप कर सकते हैं वह है टाइप !और फिर पहला अक्षर, और यह सबसे हाल ही में मिलेगा। IE: के cd ~साथ पहुँचा जा सकता है!c


1

यह शेल की एक विशेषता है। नियंत्रण-आर वह करेगा जो आप वर्णन करते हैं, लेकिन अधिक आधुनिक शेल में बदलने से आपको बहुत अधिक मिलेगा। ज़ेड-शेल (zsh) पर एक नज़र डालें, सीखने की अवस्था थोड़ी है, लेकिन यह बहुत शक्तिशाली है।


मुझे लगता है कि आपका मतलब कंट्रोल-आर से है।
20

1

zsh आपके उदाहरण में ठीक उसी तरह कमांड को पूरा करेगा। आपको इसे अपने शेल के लिए उपयोग करने के अलावा और कुछ करने की आवश्यकता नहीं है।


0

इन्हें अपने .cshrc में जोड़ें (यदि आप tcsh का उपयोग कर रहे हैं) -

  bindkey -k up history-search-backward
  bindkey -k down history-search-forward

तब स्रोत ~ / .cshrc आप वास्तव में वर्णन की कार्यक्षमता प्राप्त करने के लिए करते हैं।

मुझे नहीं पता कि क्या एक .profile समकक्ष है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.