मैं Cygwin बैश में एक समय में ctrl-arrow कुंजियों को कैसे आगे / पीछे करता हूं?


97

डिफ़ॉल्ट साइग्विन इंस्टॉलेशन में, CTRL-LEFTARROW या CTRL-RIGHTARROW का उपयोग करके किसी शब्द को अपेक्षा के अनुसार एक शब्द को छोड़ देने के बजाय केवल 5C या 5D प्रिंट करता है।

होम / एंड कीज ठीक से काम करते हैं, इसलिए रीमैपिंग संभव होनी चाहिए।


ध्यान दें कि यह प्रश्न साइगविन को संबोधित करता है, लेकिन इसमें यूनिक्स / लिनक्स सिस्टम के लिए सामान्य अनुप्रयोग हो सकते हैं। यदि आप PuTTY का उपयोग कर रहे हैं और पाते हैं कि यहाँ के समाधान आपके लिए काम नहीं करते हैं, तो विशेष रूप से PuTTY के लिए उपयोग किए जाने वाले कोड के बारे में एक प्रश्न पर एक नज़र डालें ।
पालसिम् सिप

यह भी एक पूर्ण Linux के तहत मेरे साथ हुआ; ऑनलाइन कुछ सलाह पर, मैंने एक ~/.inputrcफ़ाइल जोड़ी - जिसमें सभी लिनेट टकसाल डिफॉल्ट को रद्द कर दिया। आप $include /etc/inputrcअपने ~ / .inputrc (यह मानते हुए कि / etc / inputrc आपके सिस्टम-वाइड inputrc, जो यह लिनक्स मिंट पर है) के शीर्ष पर जोड़कर उन्हें वापस पा सकते हैं
user208769

जवाबों:


133

एक समाधान मिला , इसे यहाँ पोस्टिंग के लिए पोस्ट किया।

निम्नलिखित पंक्तियों को ~/.inputrc( C:\cygwin\home\<username>\.inputrc) में जोड़ें :

"\e[1;5C": forward-word   # ctrl + right
"\e[1;5D": backward-word  # ctrl + left 

जब आप वर्तमान सत्र के लिए फ़ाइल C-x C-rको फिर से पढ़ने के लिए दबा सकते हैं .inputrc

यदि आप अन्य समान अनुकूलन चाहते हैं तो ध्यान देने योग्य बातें: उपयोग करें 5Aऔर 5Bऊपर और नीचे तीर, और 2xस्थानांतरित संस्करणों के लिए।

"आधिकारिक" कुंजी मैपिंग को बैश संदर्भ नियमावली में वर्णित किया गया है , लेकिन त्वरित मैपिंग के लिए कुंजी मैपिंग को bash में वर्णित किया गया है :

  1. टाइप Ctrl+ करेंV
  2. उस महत्वपूर्ण अनुक्रम को लिखें जिसमें आप रुचि रखते हैं (जैसे, Alt+ )। यह छपेगा^[[1;3C
  3. अग्रणी निकालें ^[और इसे \eबनाने के लिए बदलें\e[1;3C
  4. इस मान को अपनी .inputrcफ़ाइल में रखें।

कुछ कीबोर्ड कोड <kbd> Shift </ kbd> + <kbd> Enter </ kbd> जैसे दिखाई नहीं दे रहे हैं। मैं मिंट्टी / विंडोज / सिगविन के माध्यम से इन कीबोर्ड कोड को कैसे खोज सकता हूं?
CMCDragonkai 12

14

आप फ़ाइल को पुनः लोड कर सकते हैं .inputrc द्वारा:

bind -f ~/.inputrc

स्रोत


2
यह उपयोगी है, लेकिन वास्तव में सवाल का जवाब नहीं है - शायद यह किसी अन्य उत्तर के लिए एक टिप्पणी के रूप में बेहतर होगा?
मार्टिन थॉम्पसन

@ टॉम के उत्तर के ऊपर जोड़ा गया
dovetalk

7

उदाहरण के लिए, आप कस्टम वातावरण सेटिंग्स के बिना काम करेंगे, उदाहरण के लिए, जब सर्वर पर साझा खाते पर काम कर रहे हैं या सिर्फ कस्टम कॉन्फ़िगरेशन की राशि का उपयोग किया जा रहा है, तो बैश ने इसके लिए Cygwin में काम किया है।

अर्थात् Alt+ fआगे बढ़ने के लिए और Alt+ bपीछे ले जाने के।

http://www.gnu.org/software/bash/manual/html_node/Commands-For-Moving.html


4
धन्यवाद, हालांकि मैं उन कुंजियों से अवगत हूं और उनका उपयोग करता हूं। मैं बस तीर कुंजी का उपयोग करता हूं जब यह सुविधाजनक होता है और वे नहीं चाहते हैं कि भागने की बातें करने और कर्सर को स्थानांतरित करने के बजाय भागने के कोड को उगल दें।
टॉम

0

साइबरविन के साथ rxvt का उपयोग करते समय मैंने पाया कि इस लिंक पर मेरे लिए काम किया गया है: control_arrow_keys_in_xxvt

निम्नलिखित पंक्तियों को इसमें जोड़ें ~/.inputrc:

"\eOd": backward-word
"\eOc": forward-word

जब एक अतिरिक्त परत संचरित कुंजियों को बदल रही है (लेकिन यह पूछे गए प्रश्न का उत्तर नहीं देती है)।
निकाना रेक्लाविक्स

0

यह समाधान msys2शान्ति में भी काम करता है :

"\e[1;5C": forward-word   # ctrl + right
"\e[1;5D": backward-word  # ctrl + left 

बस इन प्रमुख संयोजनों को .inputrcफ़ाइल में रखें।

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