शेल का "डिलीट वर्ड" शॉर्टकट बहुत सारे अक्षरों को हटा देता है


9

बैश के तहत Alt+ dका कुछ व्यवहार मुझे सालों से पागल बना रहा है और मुझे लगा कि शायद इसे एक सेटिंग के साथ तय किया जा सकता है।

अगर मैं एक टर्मिनल पर हूं और इस तरह एक कमांड जारी करता हूं:

...$   cat >> ~/notesSuperLongFilename.txt

और फिर अगर मैं चाहूं तो कहना, जारी करना:

...$ scp ~/notesSuperLongFilename.txt

मैं वापस प्राप्त करना चाहते हैं "बिल्ली >> ~ / notesSuperLongFilename.txt" Ctrl + P (पिछली लाइन) और फिर का उपयोग कर Ctrl+ aऔर फिर Alt+ dऔर Alt+ dफिर तो मैं होगा:

...$  ~/notesSuperLongFilename.txt

और फिर मैं बस "scp" दर्ज कर सकूंगा और फिर a Ctrl+ m(या Enter / Return को हिट करूँगा )।

हालाँकि यह काम नहीं करता है क्योंकि पहले Alt+ के बाद dमुझे मिलता है:

...$ >> ~/notesSuperLongFilename.txt

(अब तक तो सब ठीक है)

लेकिन बाद दूसरी Alt+ dमैं:

...$ .txt

तो किसी कारण के लिए Alt+ dहटाए जाने के बजाय ">> ~ ~ / notesSuperLongFilename" एक बार में ">>"

यह एकमात्र सबसे बड़ा टाइम-वेस्टर है जो मुझे सचमुच सालों से लिनक्स / बैश के साथ पागल बना रहा है।

तो मैं इस (यकीनन टूट) के व्यवहार को ठीक करके उसे Alt+ d?

पुनश्च: मुझे नहीं पता कि उस Alt+ dव्यवहार के लिए "जिम्मेदार" कौन है: मुझे नहीं पता कि यह टर्मिनल है या यदि यह शेल (मेरे मामले में बैश) है।


"कैट >> ~ / notesSuperLongFilename.txt" के बाद, "scp" टाइप करें और फिर Esc:। (एक बार बचो और फिर "।" चरित्र एक बार)
मथिउ

जवाबों:


3

मुझे नहीं पता कि उस Alt + d व्यवहार के लिए "जिम्मेदार" कौन है: मुझे नहीं पता कि यह टर्मिनल है या यदि यह शेल (मेरे मामले में बैश) है।

यह bashविशेष रूप से डिफ़ॉल्ट कमांड-लाइन संपादन सेटअप है। यहां एक अच्छा पृष्ठ है कि क्या कमांड बाध्य हो सकते हैं, और डिफ़ॉल्ट बाइंडिंग कैसे बदल सकते हैं।

डिफ़ॉल्ट के लिए बाध्यकारी Alt-dहै kill-wordजो Emacs में एक ही नाम के आदेश की तरह काम करने के लिए माना जाता है। जैसा कि आपने देखा है, हालांकि, यह नहीं है - Emacs >>आपके उदाहरण में और शब्द के विराम के बीच के स्थान को विच्छेद मानेंगे। ऐसा bashनहीं है, मैं एक बग पर विचार करूंगा। इसके लिए स्रोत प्राप्त करने bash, इसे बदलने, और इसे पुनः प्राप्त करने के लिए लघु , मुझे नहीं पता कि आप क्या कर सकते हैं।


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