बैश रीडलाइन को पिछली स्लैश तक हटाने के लिए


15

बैश एमएसीएस मोड में, वैसे भी पिछले स्लैश चरित्र तक हटाना है? उदाहरण के लिए यदि मैं कमांड दर्ज करता cp /usr/local/bin/reallylongincorrectfolder /home/myname/reallylong_and_correct_pathहूं और केवल। डिलीट करना चाहता हूं तो reallylongincorrectfolderक्या कोई शॉर्टकट है? यह मेरे लिए बहुत ही अशुभ स्थिति है। dF<char>Vi में कुछ ऐसा ?

जवाबों:


9
bind -P |grep unix-filename-rubout

उदाहरण के लिए कीबाइंडिंग का परीक्षण करना। Ctrl- b:

bind \\C-b:unix-filename-rubout

स्थायी उपयोग के लिए, इसे जोड़ें ~/.inputrc


2
इसे जोड़ने के लिए ~/.inputrc, उस फ़ाइल में इस तरह की एक पंक्ति जोड़ें "\C-b": unix-filename-rubout:। प्रभाव को देखने के लिए, आपको एक नया बैश शेल शुरू करना होगा (या कुछ अन्य प्रोग्राम चलाना होगा जो GNU रीडलाइन लाइब्रेरी का उपयोग करता है)।
क्रोड लैंगशान

11

Alt- Backspaceऔर Ctrl- wआमतौर पर मैप किया जाता है backward-kill-word, जो ऐसा करता है। यदि आप यह पता लगाना चाहते हैं कि आपके सिस्टम (यदि कुछ भी) पर मैप किया गया है, तो चलाएं bind -P | grep '^backward-kill-word'

जैसा कि @Barar द्वारा समझाया गया है , यह अलग है unix-word-rubout, जो पिछली अंतरिक्ष सीमा को हटा देता है।


लेकिन यह पूरे शब्द को मार देगा .. मैं केवल आखिरी स्लैश तक मारना चाहता हूं
वुडस्टॉक

यह यहाँ केवल अंतिम स्लैश को हटाता है। स्लैश डिफ़ॉल्ट शब्द विभाजकों में से एक है। क्या आप वाकई बैश का उपयोग कर रहे हैं?
l0b0

मेरा बुरा .. Alt-Backspace अंतिम स्लैश तक इसे हटा देता है। ALt-BackSpace और Ctrl-W के बीच क्या अंतर है?
वुडस्टॉक

3
सीटीएल-डब्ल्यू आम तौर पर बाध्य है unix-word-rubout: शब्द के पीछे शब्द को मारें, शब्द सीमा के रूप में सफेद स्थान का उपयोग करें।
बमर

2
यह बिल्कुल काम नहीं करता है। "शब्द अल्फ़ान्यूमेरिक वर्णों (अक्षरों और अंकों) से बने होते हैं"। इसलिए यह सिर्फ स्लैश की तुलना में बहुत अधिक पर रुकेगा। डिफ़ॉल्ट-अनबाउंड unix-filename-ruboutथोड़ा बेहतर है, क्योंकि यह सफेद स्थान पर रुक जाएगा और स्लेश करेगा।
स्पार्कवॉक

6

इसे अपने में रखें .inputrcऔर एक नया शेल शुरू करें:

C-b:unix-filename-rubout

Ctrl- bअब अगली स्लैश में पीछे की तरफ मिटाता है।

निर्वाण!

मत भूलो Ctrl- XCtrl- Eअपने संपादक को लॉन्च करेगा ताकि आप एक जटिल कमांड लाइन को आराम से संपादित कर सकें।

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