iTerm - एक शब्द पीछे और आगे की ओर जा रहा है


164

क्या कीबोर्ड शॉर्टकट का उपयोग करके कमांड लाइन में घुमावदार पाठ के माध्यम से पीछे की ओर जाने के लिए iTerm 2 को कॉन्फ़िगर करना संभव होगा?


14
यह वास्तव में सवाल का जवाब नहीं देता है लेकिन यह प्रासंगिक है: आप कर्सर को वहां ले जाने के लिए कमांड लाइन में कहीं भी + क्लिक कर सकते हैं।
डेविड विनीकी

डाउनवोटिंग सही उत्तर नहीं मानने के लिए
Pi-

@ पाई- आपको क्यों लगता है कि स्वीकृत उत्तर सही नहीं है? 1. अधिकांश वोटों के साथ यह लगभग 3 साल पहले दिखाई दिया था। 2. यह एक समाधान प्रस्तुत करता है जो डिफ़ॉल्ट रूप से काम नहीं करता है।
रचना

जवाबों:


47

Ctrl-[ bएक शब्द वापस कूदता है। आप Escइसके बजाय या Ctrl-[, और fआगे जाने के लिए भी उपयोग कर सकते हैं।

वह Ctrl+ [जारी है और फिर bया f। या Escऔर bया f

इसके बारे में अधिक जानकारी AskDifferent पर अन्य चर्चा में पाई जा सकती है ।


3
यह बेहतर होगा यदि एक बटन दबाते हुए बहुत सारे शब्दों को जल्दी से वापस जाना है, क्योंकि प्रत्येक शब्द के लिए कुंजी का क्रम टाइप करने का विरोध किया गया है।
user1717828

"Ctrl- [" क्या है?
शिहाओ जू

"Ctrl- [" के साथ मेरा मतलब "Ctrl" कुंजी और "[" कुंजी को एक साथ मारना है।
Volsk

321

एक तोप के साथ एक मक्खी को मारना:

  • प्राथमिकताएं पर जाएं ... > प्रोफ़ाइल > कुंजी
  • प्रेस लोड पूर्व निर्धारित ...
  • प्राकृतिक पाठ संपादन का चयन करें

उसके बाद, आप एक शब्द पीछे की ओर का उपयोग कर स्थानांतरित कर सकते हैं Option ⌥+ और एक शब्द आगे का उपयोग कर Option ⌥+ , का उपयोग कर लाइन के शुरू करने के लिए कदम fn+ और साथ पंक्ति के अंत तक fn+ । इसके अलावा, आप एक शब्द पीछे की ओर का उपयोग कर नष्ट कर सकते हैं Option ⌥+ , का उपयोग करते हुए पूरे लाइन को हटाना Command ⌘+

यदि पूर्व निर्धारित प्रकट नहीं होता है, तो iTerm2 को पुनर्स्थापित करें। यदि आपने इसे Homebrew + Cask का उपयोग करके स्थापित किया है:

brew cask reinstall iterm2

48
यह स्वीकृत उत्तर होना चाहिए!
मसराद

3
यह मेरे लिए काम नहीं करता है। पैरामीटर: iTerm2 3.1.2, macOS 10.12.6, जर्मन कीबोर्ड। और मैं अकेला नहीं हूँ ...
t0r0X

2
यह बहुत अच्छा है और आपकी अधिकांश आवश्यकताओं को जोड़ देगा। यह हालांकि सीएमडी + बायाँ तीर / दाएँ तीर के माध्यम से लाइन के प्रारंभ / अंत में नहीं जाता है। उस कार्रवाई के लिए, देखें: stackoverflow.com/questions/6205157/…
मिकीएन0

35
इस उत्तर को देखने के बाद मेरा जीवन बदल गया है। मैंने अपनी पत्नी को तलाक दे दिया, अब मैं एक सुपरमॉडल के साथ लैंबो में हूं।
ड्रैगोस रेकस्कु

12
ध्यान दें कि यह प्राथमिकताएँ हैं> प्रोफ़ाइल > कुंजी> लोड पूर्व निर्धारित नहीं प्राथमिकताएँ> कुंजी> लोड प्राथमिकताएँ
केविन

148

मुझे निम्नलिखित सेटअप पसंद है।

  1. प्राथमिकताएँ> कुंजी (या प्राथमिकताएँ> प्रोफ़ाइल> कुंजी)
  2. प्लस पर क्लिक करें।

एक शब्द आगे बढ़ाएं

option+right
send escape sequence
f

एक शब्द पीछे हटो

option+left
send escape sequence
b

शब्द की शुरुआत ( क्रेडिट ) को हटाना

option+delete
send hex code
0x1B 0x08

शब्द का अंत करने के लिए हटाएँ

fn+option+delete
send escape sequence
d

(मुझे निश्चित रूप से याद नहीं है, लेकिन मुझे लगता है कि मैंने इस जवाब को jherran के उत्तर से कॉपी किया है और इसमें और अधिक जोड़ दिया है। मुझे टिप्पणियों में अतिरिक्त जानकारी जोड़ी जानी चाहिए या उस उत्तर पर सुझाव संपादित करना चाहिए। मुझे नहीं पता कि कैसे सुधार करना है। स्थिति, लेकिन अब यह ज्ञात है।)


2
MacOS 10.12 पर, मुझे शब्द की शुरुआत में डिलीट करने के लिए हेक्स कोड 0x17 का उपयोग करना होगा
midopa

macOS 10.12 और zsh के साथ एक आकर्षण की तरह काम करता है
Sébastien

1
सबसे अच्छा जवाब कभी तुम मुझ से एक बीयर है :)
अनंत

1
ज़ेर्रान के उत्तर पर विचार करें। मुझे लगता है कि मैंने उनके उत्तर पर थोड़ा सुधार किया है और शायद मुझे अपना उत्तर बनाने के बजाय एक संपादन का सुझाव देना चाहिए। मुझे लगता है कि मैंने इसे चुरा लिया।
डेविड विनीकी

संदर्भित इस : करने के लिए Esc-बी, मैं भेजने के लिए किया था 0x1b 0x42, और के लिए Esc-च, मैं भेजने के लिए किया था 0x1b 0x46डी:
मेरेडिथ

36

फॉरवर्ड (Alt-f), बैकवर्ड (Alt-b) और डिलीट (Alt-d) वर्ड

  1. ITerm खोलें।
  2. ITerm> प्राथमिकताएं ...> प्रोफ़ाइल> कुंजी पर जाएं
  3. प्रोफ़ाइल शॉर्टकट कुंजी के अंतर्गत, + चिह्न पर क्लिक करें।
  4. अपना मुख्य शॉर्टकट (विकल्प-बी, विकल्प-एफ, विकल्प-डी, विकल्प-बाएं, आदि) टाइप करें
  5. एक्शन के लिए, सेंड एस्केप सीक्वेंस चुनें।
  6. इनपुट क्षेत्र में b, d या f लिखें।

यह कम से कम बैश के लिए काम करता है। Zsh के लिए नेविगेट करने के अन्य तरीके हैं ।


2
मैंने एक विकल्प + सही शॉर्टकट जोड़ने की कोशिश की और एक संघर्ष के बारे में चेतावनी संदेश मिला, क्योंकि मुझे एहसास नहीं था कि आप वरीयताएँ> कुंजी> वैश्विक शॉर्टकट कुंजी और प्राथमिकताएँ> प्रोफ़ाइल> कुंजी> प्रोफ़ाइल शॉर्टकट कुंजी दोनों को कॉन्फ़िगर कर सकते हैं। डिफ़ॉल्ट प्रोफ़ाइल में इसे कॉन्फ़िगर करने से काम हुआ।
डेविड विनीकी

1
यह zsh के लिए भी काम करता है!
एंड्री अब्रामोव

2
मुझे लगता है कि आपका उत्तर (उसी समाधान के लिए) +1 को समझने में सबसे आसान था
nzaleski

1
बहुत उपयोगी व्याख्या।
कोंटी

उत्तम। आप कमांड + एफ आदि का उपयोग भी कर सकते हैं, इसलिए "Alt" कुंजी एक ही स्थिति में है और पीसी और मैक के बीच स्विच करते समय कोई समायोजन आवश्यक नहीं है।
फ्राइडेरब्लुमेले

11

अन्य उत्तरों के समान, लेकिन Zsh के लिए मुझे इसे खोजने में थोड़ा समय लगा:

यदि आप Zsh का उपयोग कर रहे हैं, जैसे कि My My Zsh, iTerm में तो जाएं: प्राथमिकताएँ> प्रोफ़ाइल > कुंजी उप-मेनू

+ साइन पर क्लिक करें

अपना शॉर्टकट कॉम्बो जोड़ें, "सेंड एस्केप सीक्वेंस" चुनें

बाएँ और दाएँ नीचे इनपुट।

बाएं:

[1;5D

सही:

[1;5C

1
आपने मेरा जीवनसाथी
थिबुत नूह

यह एकमात्र समाधान है जो मेरे लिए काम करता है
ब्रिजी

अंत में, एक सरल समाधान जो काम करता है: डी हमारे साथ साझा करने के लिए धन्यवाद!
पेरिबैक

इसका उत्तर होना चाहिए। Upvoted।
एहिमे

2

आप अपने टर्मिनल को vi मोड में सेट कर सकते set -o viहैं, जो सामान्य vi मोशन कमांड का उपयोग करने में सक्षम हो ( .bash_profileसेटिंग को स्थायी रूप से स्टोर करने के लिए लाइन जोड़ें )।

इसलिए, जैसे कि vi में, आप हिट कर सकते हैं Esc, तो bएक शब्द को पीछे की ओर ( wआगे के लिए) ले जाने के लिए, पंक्ति के आरंभ में जाएं 0, या F+ char के साथ किसी वर्ण को पीछे की ओर खोजें ।

iसामान्य मोड पर वापस जाने और सम्मिलित करने के लिए हिट करें।

Vi से परिचित लोग बहुत कुछ कर सकते हैं। एक धोखा शीट यहाँ पाया जा सकता है


2
विम सब कुछ हल करती है! : डी
ब्रेनो सालगाड़ो

साधते Escतो Iबस पंक्ति के आरम्भ में एक बार जाने के लिए थोड़ा कम आसान की तुलना में है Ctrl-aउपयोग के इस मामले अक्सर होता है जब आप बस आदेश नाम संशोधित करना चाहते हैं -। इसलिए मैं iTerm2 में कुछ कीबाइंडिंग परिवर्तनों के साथ vi मोड का उपयोग करता हूं, जो मानचित्र Ctrl-Aसे बचने और अनुक्रम से बचने के लिए समान है Esc+0। इस तरह ये मामले और भी तेज होते हैं क्योंकि यह संपादन मोड में समाप्त हो जाते हैं।
rfabbri

1

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

प्राथमिकताएं खोलें

Esc + भेजने के लिए बायाँ (और / या) राइट विकल्प कुंजी कॉन्फ़िगर करें

यदि आप अपने प्रीसेट के साथ गड़बड़ करते हैं, तो आपको डिफ़ॉल्ट प्रीसेट लोड करने की आवश्यकता हो सकती है (सावधान रहें कि यह आपके कस्टम कीबाइंड्स को मिटा सकता है!)

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

यदि आप ऐसा करने के बाद अजीब अक्षर देखते हैं, तो आपको अपने ~ / .inputrc या / etc / inputrc को कॉन्फ़िगर करने की आवश्यकता हो सकती है

इसे अपने ~ / .inputrc में जोड़ें:

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

पूर्ण उदाहरण inputrc:

# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and `info rluserman' for more information.

# Be 8 bit clean.
set input-meta on
set output-meta on

# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.

# set convert-meta off

# try to enable the application keypad when it is called.  Some systems
# need this to enable the arrow keys.
# set enable-keypad on

# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys

# do not bell on tab-completion
# set bell-style none
# set bell-style visible

# some defaults / modifications for the emacs mode
$if mode=emacs

# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

$if term=rxvt
"\e[7~": beginning-of-line
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif

# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line

# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line

$endif

-1

ITerm2 3.1.4 के साथ, मैं अलग-अलग कुंजी मैपिंग जोड़े बिना निम्नलिखित सेटअप करने में सक्षम था।

  1. पर जाएं प्राथमिकताएं> प्रोफ़ाइल> कुंजी
  2. बाएँ / दाएँ / कुंजी: Esc + चुनें

नए टर्मिनल सत्र के साथ अब आप उपयोग करने में सक्षम हैं:

Option ⌥+ fआगे बढ़ने के लिए

Option ⌥+ bआगे बढ़ने के लिए

Option ⌥+ Delete ⌫वर्ड डिलीट करने के लिए


2
यह अन्य अत्यधिक मतदान वाले उत्तर से कैसे भिन्न होता है? Apple.stackexchange.com/a/293988/237
user151019
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.