ITerm2 में एक शब्द वापस जाने के लिए मैं नियंत्रण + बायां तीर कैसे प्राप्त कर सकता हूं?


114

मैं लिनक्स मैनुअल में पढ़ रहा था और मैंने देखा कि मैंने कहा कि मैं संपादन करते समय टर्मिनल में आगे और पीछे के शब्दों को नियंत्रित करने के लिए नियंत्रण + बाएं और नियंत्रण + का उपयोग कर सकता हूं।

"Ctrl प्लस लेफ्ट या राइट एरो की को दबाने से एक बार में एक शब्द पीछे या आगे बढ़ता है, जैसा कि Esc और फिर B या F दबाता है।"

ओएस एक्स पर control+leftऔर control+rightसामान्य रूप से रिक्त स्थान को नियंत्रित करते हैं। मैंने उन्हें निष्क्रिय कर दिया है। मैंने कीबोर्ड शॉर्टकट सेट करने के लिए वरीयताओं के फलक का उपयोग करने की भी कोशिश की:

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

हालाँकि यह काम नहीं करता है और इस त्रुटि का कारण बनता है:

यहाँ छवि विवरण दर्ज करें

इसके अलावा, अगर मैं iTerm में हूं और alt+escapeB का उपयोग करता हूं तो B या F अक्षर आगे-पीछे चलता है। यह मेरे किसी भी कॉन्फ़िगर परिवर्तन से पहले हो रहा था। लेकिन मैं वास्तव में नियंत्रण + तीर कुंजी का उपयोग करने में सक्षम होना चाहता हूं।


संयोग से, इसे प्राप्त करने का एक और अधिक सरल तरीका केवल कमांड + लेफ्ट और कमांड + को ctrl + लेफ्ट और ctrl + राइट के बजाय मैप करना हो सकता है। इसे पूरा करने के लिए मुझे सिस्टम-वाइड को अक्षम करने की आवश्यकता नहीं थी।
डॉक्टर मोहक

जवाबों:


135

दे घुमा के

बस निम्नलिखित जोड़ें ~/.inputrc:

"\e[1;5D": backward-word
"\e[1;5C": forward-word

कुछ और स्पष्टीकरण के लिए इस संग्रहीत विकी पोस्ट को देखें । यदि आप altशब्द-दर-शब्द आंदोलन (जैसे डिफ़ॉल्ट OS X व्यवहार) के लिए कुंजी का उपयोग करना चाहते हैं , तो उपयोग करें:

"\e[1;9D": backward-word
"\e[1;9C": forward-word

zsh

डिफ़ॉल्ट रूप से zsh readlineलाइब्रेरी का उपयोग नहीं करता है और इसलिए नहीं पढ़ेगा ~/.inputrc। समान कार्यक्षमता पाने के लिए, आप निम्नलिखित को अपने साथ जोड़ सकते हैं ~/.zshrc- यह फिर से altकुंजी का उपयोग करेगा :

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

बिल्ट-इन zsh लाइन एडिटर (zle) के बारे में अधिक जानकारी के लिए यह दस्तावेज़ देखें ।


ऐसा क्यों है? आपने Xterm चूक का उपयोग करने के लिए अपनी प्रोफ़ाइल सेट की है:

यहाँ छवि विवरण दर्ज करें

यही कारण है कि आपको इस अनुक्रम को "पकड़ने" की आवश्यकता होगी और बताएं readlineकि क्या करना है।


यदि ऊपर अभी भी काम नहीं करता है और आप OS X 10.9 (Mavericks) या वहाँ के बारे में उपयोग कर रहे हैं, तो आपको शायद वैश्विक मिशन नियंत्रण शॉर्टकट को अक्षम करना होगा जो नियंत्रण + तीर कुंजी को iTerm तक पहुंचने से रोकते हैं, भले ही मिशन नियंत्रण स्वयं अक्षम हो। आप सिस्टम वरीयताएँ → कीबोर्ड → शॉर्टकट → मिशन नियंत्रण से ऐसा कर सकते हैं :

मिशन नियंत्रण कीबोर्ड प्रीफ़


4
मैं पूरी तरह से काम करने के लिए अल्ट + लेफ्ट और ऑल्ट + राइट कीज पाने के लिए इंस्ट्रक्शन फॉलो करने की कोशिश करता हूं। मैंने अपनी .inputrc फ़ाइल में दो पंक्तियाँ जोड़ीं, लेकिन जब मैं कुंजी दबाता हूँ तो केवल यही होता है कि या तो "D" या "C" शेल में प्रिंट हो जाए। मैं zsh शेल के साथ iTerm2 का उपयोग कर रहा हूं। कोई विचार?
फ्लो

1
@ फ़्लो लाइनों को जोड़ने की कोशिश करें bindkey -e, bindkey '^[[1;9C' forward-wordऔर bindkey '^[[1;9D' backward-wordआपके ~/.zshrcबजाय। IIRC zsh नहीं पढ़ेगा .inputrc- या कम से कम यह मेरे लिए इस तरह से काम करता है।
slhck

2
मेरे लिए ctrl-left / right + bash के साथ काम नहीं कर रहा है, लेकिन अगर मैं इसे alt-left / right के लिए सेट करता हूं तो ठीक काम करता है।
डालिन

3
मिशन कंट्रोल शॉर्टकट्स के बारे में एक एड किया, जिसमें से किसी को भी सबसे ज़्यादा अपारदर्शी तरीके से काम करने से रोका गया। उम्मीद है कि यह किसी को उसी चीज़ से जाने से बचाता है जो मैंने अभी
उर में

12
OSX + zsh + iTerm2 + ctrl-left / के लिए निम्नलिखित का उपयोग करें:bindkey -e; bindkey '\e\e[C' forward-word; bindkey '\e\e[D' backward-word
आर्टूर बोडेरा

45

Zsh के लिए काम कर समाधान। सरल, सीधा, बाहर का।

  1. के लिए जाओ: ⌘, Preferences → Profiles → Keys → Keyboard Behavior

  2. लोड पूर्व निर्धारित: Natural Text Editing

लोड पूर्व निर्धारित "प्राकृतिक पाठ संपादन"


धन्यवाद @ हॅपी टॉर्चर, मेरा मानना ​​है कि यह सबसे अच्छा उत्तर है क्योंकि मेरे पास सादे टर्मिनल पर नहीं है। उस समस्या को इसलिए मैं बैश / zsh को संशोधित नहीं करना चाहता, बस टर्मिनल की तरह हर काम करना चाहते हैं।
गलुसजक

यह, यह, यह। इस समाधान के लिए बहुत बहुत धन्यवाद! मैं प्रत्येक मैक के साथ इस पागल प्रक्रिया के माध्यम से चला गया हूँ। अब मैं इसे करने का सबसे सरल तरीका जानता हूं। धन्यवाद!
नोवो

8

मैंने इसे इस तरह तय किया:

शीर्ष मेनू में; के लिए जाओ

Profiles 
-> Open profiles... 
-> Edit profiles... (button) 
-> Keys (tab) 
-> Load Preset... (dropdown) 
->  Choose "Natural text editing". Done! :-)

सभी मेरे पास है कि पूर्व निर्धारित "फैक्ट्री
डिफॉल्ट्स

7

मैंने एक अलग दृष्टिकोण का उपयोग किया। का उपयोग करते हुए BetterTouchTool मैं iTerm2 के लिए एक कस्टम कीबोर्ड शॉर्टकट प्रोग्राम किया। जब मैं iTerm2 में ऑल्ट-लेफ्ट को दबाता हूं, तो यह कीबोर्ड शॉर्टकट ctrl-left को एक्शन "विशिष्ट एप्लिकेशन को कीबोर्ड शॉर्टकट भेजें" के साथ भेजता है। आवेदन iTerm2 है। मैंने alt-right मैप किया ctrl-right के लिए भी ऐसा ही किया।

इसका प्रभाव यह है कि iTerm2 में alt-left या alt-right दबाने से एक सिस्टम-बाएं या ctrl-right को सीधे iTerm2 पर भेजा जाता है, सामान्य सिस्टम-वाइड शॉर्टकट को बाएं या दाएं स्थानांतरित करने के लिए सामान्य सिस्टम-वाइड शॉर्टकट को दरकिनार करता है। इस तरह मुझे स्थानीय टर्मिनल सत्रों में, बल्कि दूरस्थ SSH सत्रों में iTerm2 में सामान्य मैक व्यवहार मिलता है, और मैं अलग डेस्कटॉप पर जाने के लिए मानक ctrl-left / ctrl-right का उपयोग कर सकता हूं। मैंने इसे यहाँ लिखा है:

http://www.callum-macdonald.com/2013/04/17/ctrl-left-and-ctrl-right-on-iterm2/


2
BetterTouchTool खुला स्रोत नहीं है और बहुत अच्छी तरह से वे चीजें कर सकते हैं जो आप चाहते हैं कि यह नहीं था। लड़का कहता है कि वह एक छात्र है, लेकिन वह सिर्फ एक तीन पत्र एजेंसी हो सकता है।
निरस्त करें

7

वास्तव में, मैंने पाया कि सबसे आसान उपाय मेरी प्रोफ़ाइल सेटिंग्स (प्रोफाइल / कीज़ में पाया गया) पर जाना था, जो अपमानजनक प्रोफाइल शॉर्टकट (जैसे कि iTerm में ग्लोबल को ओवरराइड करता है) को हटाकर, मेरे मामले में alt + left और alt + right + और फिर ग्लोबल है। शॉर्टकट मेरे लिए पूरी तरह से काम करते हैं!

इसके अलावा, यदि आप OS X का उपयोग कर रहे हैं, तो संभवतः इस उद्देश्य के लिए सिस्टम वाइड शॉर्टकट्स के साथ चिपकना सबसे अच्छा है, अर्थात इसके बजाय alt + left और alt + right का उपयोग करना, टर्मिनल में अलग-अलग व्यवहार होने के कारण अंततः दर्द का सामना करना पड़ता है।

बेटर टच टूल का उपयोग करने के लिए chmac के समाधान के अलावा केवल इटर्म में नियंत्रण + तीर के व्यवहार को बदलने का एक सुंदर तरीका था।


वास्तव में यह सबसे अच्छा उपाय है। यह भ्रमित करने वाला है क्योंकि हम में से अधिकांश Keysटैब पर जाते हैं। इसके बजाय हमें Profilesटैब पर जाना होगा -> एक प्रोफ़ाइल (जैसे डिफ़ॉल्ट) -> कुंजी।
पास्कलिस

यह निश्चित रूप से सबसे सुरक्षित और आसान उपाय है।
revacuate

2

यह पोस्ट इस और अन्य शॉर्टकट को एक शब्द को हटाने के लिए delete delete हटाएं के रूप में सिखाता है:

http://elweb.co/making-iterm-2-work-with-normal-mac-osx-keyboard-shortcuts/


यह वास्तव में सवाल है, का उपयोग कर के बारे में है जो उत्तर नहीं मिलता है <Ctrl> <बाईं>
DavidPostill

आपको बस उस शॉर्टकट का उपयोग करना है जो आपकी आवश्यकता के अनुकूल है। "<ctrl> <left>" या जो आप चाहते हैं।
सेर्ल्टो

1
तो कृपया संदर्भ लिंक (एस) से उत्तर के आवश्यक भागों को उद्धृत करें, क्योंकि लिंक लिंक किए गए पृष्ठ बदलने पर उत्तर अमान्य हो सकता है।
DavidPostill

1

आपको Profilesटैब में जाने और alt+ leftऔर alt+ के लिए मैपिंग को हटाने की आवश्यकता है rightक्योंकि यह डिफ़ॉल्ट रूप से कुछ हेक्स मानों को आउटपुट करता है।


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