एक यूनिक्स टर्मिनल में "फॉरवर्ड" शब्द को हटाने का शॉर्टकट क्या है?


14

मैं Ctrl+Wएक शब्द को हटाने के लिए मैक टर्मिनल में करता हूं (जहां शब्द की शुरुआत में कर्सर है वहां से हटाता है)

मैं इसके विपरीत कैसे करता हूं - कर्सर को शब्द के अंत तक हटा दिया जाता है?

जवाबों:


14

यह आपके शेल और इसके सक्रिय कमांड लाइन संपादन मोड पर निर्भर करता है।

Emacs कमांड लाइन संपादन मोड ( set -o emacsकुछ गोले में) के साथ एक शेल के लिए , उपयोग Alt+D(यह जो भी कारण के लिए macOS पर काम नहीं करता है, लेकिन चरित्र को प्रिंट करता है , Escdइसके बजाय उपयोग करें )।

वीआई कमांड लाइन संपादन मोड ( set -o viकुछ गोले में) के साथ एक शेल के लिए , उपयोग करें Escdw(यह मैकओएस पर भी काम करता है )।


केवल zsh में हालांकि मेटा-डी उसी प्रकार के शब्द को हटाता है जो Ctrl-W करता है (रिक्त सीमांकित वाले)। में bashमें viमोड में, आप उपयोग कर सकते हैं dWउन को हटाने के लिए
स्टीफन Chazelas

1
@ स्टीफनचैलेजेलस हाँ, वे (दो कीकोम्बोस) का एक अलग दृष्टिकोण है जो एक "शब्द" का गठन करता है।
Kusalananda

आप इसे काम करने के लिए टर्मिनल कीबोर्ड प्राथमिकताओं में "मेटा के रूप में उपयोग विकल्प" की जांच कर सकते हैं।
जोजेफ लेगने

Esc + D और Alt + D दोनों xfce4 टर्मिनल 0.6.3 में काम करते हैं ।
neverMind9

1

ट्टी लाइन अनुशासन के लिए, ^Wपिछले श्वेत-रिक्त सीमांकित शब्द को हटाता है ।

में viडालने के मोड में संपादक, ^Walnums या गैर alnums के पहले अनुक्रम के शुरू करने के पिछड़े हटाता है (पर foo-+-bar.. baz, यह पहली हटाता bazहै, तो .., तो bar, तो -+-, तो foo)।

में emacsसंपादक, ^Wके लिए कर्सर की स्थिति से हटाता निशान (एक आप के साथ सेट Ctrl+Space)।

कुछ लाइन संपादक जैसे readline(द्वारा उपयोग किया जाता है bash, gdb...), zle(द्वारा उपयोग किया जाता है zsh), pdkshजब viमोड में होता है, तो viउस संबंध में व्यवहार करें और जब emacsमोड में tty लाइन अनुशासन (नहीं emacs) की तरह व्यवहार करें ।

libedit(BSD गोले या द्वारा इस्तेमाल किया (वैकल्पिक) dash), tcshएटी एंड टी ksh, में emacsमोड, की तरह व्यवहार emacsजहां ^Wहटाए गए करने के लिए निशान (बफर की शुरुआत में शुरू में)।

में आगे एक शब्द को हटाने के लिए, viसंपादक, आप इसे में क्या चाहते हैं कमांड ( सामान्य ) मोड के साथ dwalnums या गैर alnums (या पंक्ति के अंत) के अगले अनुक्रम की शुरुआत करने के लिए नष्ट करने के लिए और dWकरने के लिए नष्ट करने के लिए नॉन-ब्लक्स ( ^Wट्टी लाइन अनुशासन का लटकन) का अगला क्रम ।

में emacsलाइन संपादक, Meta-Dको हटाना होगा अंत alnum पात्रों में से अगले दृश्य के। मोशन ऑपरेटर ( Meta-B, Meta-F) शब्द समान व्यवहार करता है।

कमांड लाइन संपादक, जब viमोड में होते हैं, जैसा व्यवहार करते हैं vi, लेकिन emacsमोड में, आपके पास दो मुख्य स्कूल हैं: tcshस्कूल और kshस्कूल।

kshस्कूल ( readline, ksh, yash) बर्ताव करता है ज्यादातर की तरह emacs( fishके व्यवहार कैसे यह दोनों में गैर alnum, गैर-सफ़ेद पात्रों व्यवहार करता है में थोड़ा अलग है emacsऔर viमोड)।

में tcshस्कूल ( tcsh, libedit, zsh), शब्द गतियों खाली स्थान के सीमांकित शब्दों के आधार पर कर रहे हैं ताकि tty लाइन अनुशासन के साथ संगत कर रहे ^Wइस संबंध में।

zshव्यवहार में , सभी शब्द गति विजेट के लिए अलग-अलग शब्द शैलियों के साथ अनुकूलन योग्य है

के लिए readline, आप tcshस्कूल (और है) प्राप्त कर सकते हैंMeta-DCtrl-W अपने साथ जोड़कर उसी तरह के शब्द हटा ) ~/.inputrc:

set keymap vi-move
"\e[EMACS~": emacs-editing-mode
set keymap emacs
"\e[VI~": vi-movement-mode
"\ed": "\e[VI~dW\e[EMACS~"
"\ef": vi-fWord
"\eb": vi-bWord

या दूसरी तरफ, संरेखित करें ^W अन्य शब्द गति विजेट (जैसे व्यवहार Meta-Backscape) के साथ :

set keymap emacs
"\C-W": backward-kill-word

जैसा कि Metaकुंजी है, वहां देखें ।


-1

लिनक्स में प्रयास करें Ctrl+k जहां शब्द के अंत में कर्सर है, वहां से हटाने का करें।

नीचे सूचीबद्ध कुछ अन्य शॉर्टकट हैं (लिनक्स में काम करते हुए):

  1. Ctrl+e -> शब्द के अंत में कर्सर ले जाता है।
  2. Ctrl+t -> अंतर-अक्षर की स्थिति को बदलें।
  3. Ctrl+y -> वर्तमान शब्द में पोस्टफिक्स "hh" जोड़ता है।
  4. Ctrl+u -> पूरी लाइन डिलीट कर देता है।
  5. Ctrl+o -> Enter कुंजी के समान काम करता है।
  6. Ctrl+p -> ऊपर तीर बटन के रूप में ही काम करता है।
  7. Ctrl+a -> कमांड की शुरुआती स्थिति में कर्सर लाता है।
  8. Ctrl+d -> टर्मिनल बंद कर देता है।
  9. Ctrl+f -> कर्सर को एक वर्ण द्वारा आगे बढ़ाता है।
  10. Ctrl+h -> Backspace कुंजी के समान काम करता है।
  11. Ctrl+j -> Enter कुंजी के समान काम करता है।
  12. Ctrl+m -> Enter कुंजी के समान काम करता है।
  13. Ctrl+b-> राइट-एरो की की तरह ही काम करता है। 14 Ctrl+4 -> शब्द को हटाता है

3
Ctrl+kलाइन के अंत तक हटाता है । Ctrl+uपूरी लाइन को हटा देता है (यदि कर्सर अंत में है)। Ctrl+dEOF भेजता है। Ctrl+eके अंत में जाता है लाइन , आदि
Kusalananda

Ctrl + y का उपयोग पेस्ट करने के लिए किया जाता है, या हांकास्ट किया जाता है, आखिरी चीज जिसे आपने क्लिपबोर्ड में सहेजा था, आपके मामले में यह संभवतः "एचएच।" क्यों दुनिया में आपको लगता है कि "hh" अक्षरों के साथ किसी दिए गए शब्द को ठीक करने के लिए एक कीबोर्ड शॉर्टकट होगा? यह कैसे उपयोगी होगा?
bmcentee148
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.