कैसे पिछले / अगले शब्द शॉर्टकट में परिवर्तन करने के लिए?


20

मैं bash (वर्तमान में alt-b और alt-f) के लिए Ctrl-Left और Ctrl-Right को पिछले / अगले शब्द शॉर्टकट के रूप में कैसे कॉन्फ़िगर करूं?


उम, इस सवाल की घंटी नहीं बजती है?
गिल्स एसओ- बुराई को रोकना '

@ गिल्स - मैंने सोचा कि मैंने पहले भी कुछ इसी तरह से पूछा, हाँ, क्षमा करें। मूल को एक डुबकी के रूप में बंद कर दिया (क्योंकि यह सुपर उपयोगकर्ता की तुलना में यहां अधिक है)।
ripper234

जवाबों:


26

सही उत्तर इस बात पर निर्भर करता है कि आप किस टर्मिनल का उपयोग कर रहे हैं।

सूक्ति टर्मिनल या xterm के हाल के संस्करणों के लिए, इसे ~ / .inputrc में डालें:

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

PuTTY के लिए, इसे अपने ~ / .inputrc में डालें:

"\eOC": forward-word
"\eOD": backward-word

Rxvt के लिए, इसे अपने ~ / .inputrc में डालें:

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

आप शायद उन सभी को ~ / .inputrc में एक साथ रखने से दूर हो सकते हैं।

सभी मामलों में, आपको इसे अपने ~ / .bashrc (या ~ / .zshrc) में भी रखना होगा।

export INPUTRC=~/.inputrc

यदि वह काम नहीं करता है, या आपके पास एक अलग टर्मिनल है, तो अपने टर्मिनल पर जाएं और Ctrl+ V Ctrl+ टाइप करें ->। फिर इसके बजाय "\e[1;5C"या "\eOC"इसके बाद का उपयोग करें । Ctrl+ के लिए दोहराएं <-

ध्यान दें कि आपको इनपुट आर्क सिंटैक्स का उपयोग करके कीबोर्ड एस्केप सीक्वेंस लिखना होगा , उदा

  • \C नियंत्रण का मतलब है
  • \eभागने का मतलब (जो ^[ऊपर Ctrl + V का उपयोग करते हुए टाइप करता है)

Ctrl + V, Ctrl -> प्रिंट "^ [[1; 5C", और मैं सूक्ति-टर्मिनल का उपयोग कर रहा हूं।
ripper234

2
इसलिए कोशिश करें "\e[1;5C": forward-word। और ऐसा Ctrl+ Vके लिए बात Ctrl+ Left Arrowभी।
मिकेल

धन्यवाद, एक आकर्षण की तरह काम करता है। धीरे-धीरे लेकिन निश्चित रूप से, मैं सीखूंगा कि कैसे लिनक्स में तैरना है। उन्हें पहले स्थान पर इतना गैर-सहज क्यों बनाना पड़ा? (आपको ctrl-left, ctrl-right बेहतर विकल्प हैं स्वीकार करना होगा)
ripper234

1
यदि आपको लगता है कि लिनक्स के साथ शुरू करने के लिए गैर-सहज है, तो FreeBSD या यहां तक ​​कि सोलारिस की एक डिफ़ॉल्ट स्थापना का प्रयास करें। अपने शुरुआती शेल के रूप में बैश होना एक सपना है। इसके अलावा, चूंकि कीबोर्ड में हमेशा एरो कीज़, Emacs नहीं होते हैं, और इसलिए उसके लिए भी सपोर्ट शॉर्टकट्स को बैश करते हैं। कुछ समय के लिए Ctrl-b और Ctrl-f का उपयोग करने का प्रयास करें।
पेंग्विन 359

2
UNIX / Linux सिस्टम की सुंदरता को सेटिंग्स के आसपास ले जाना आसान है। एक बार जब आप अपने पसंदीदा कार्यक्रमों को अपने पसंद के तरीके से कॉन्फ़िगर कर लेते हैं, तो बस इसे चारों ओर कॉपी करें। मैं वास्तव में अपने होम डायरेक्टरी फाइल्स जैसे .inputrc, .bashrc, .vimrc इत्यादि के लिए संस्करण नियंत्रण का उपयोग कर रहा हूं। मैं क्लोन करने के लिए मर्क्यूरियल का उपयोग करता हूं और अपने सभी होम डायरेक्टरी सेटिंग्स को कंप्यूटर के बीच में रखता हूं। मैं अपने रेपो को प्रकाशित करने के लिए कुछ बिंदु पर योजना बना रहा हूं ताकि अन्य इसे मेरी सारी मेहनत को साझा कर सकें।
पेंग्विन 359

3

यदि आप ZSH का उपयोग कर रहे हैं, तो आपको एक अलग विधि लेने की जरूरत है, क्योंकि, ArchLinux के ZSH गाइड से संबंधित भागों को उद्धृत करते हुए :

Zsh, # लाइक बैश # का उपयोग नहीं करता है, इसके बजाय यह अपने और अधिक शक्तिशाली ज़ेल का उपयोग करता है।

यह / etc / inputrc या ~ / .inputrc नहीं पढ़ता है।

उस गाइड को पढ़ने के बाद, मुझे लगा कि मुझे ऐसा करने के तरीके का सामान्य विचार प्राप्त करने के लिए ZSH के एक मामूली स्रोत की आवश्यकता है, और इसलिए मुझे यह ओह-माय-ज़ेड फाइल मिली, जिसमें मेरे द्वारा किए गए व्यवहार का वर्णन है, मैंने संबंधित भागों की प्रतिलिपि बनाई थी मेरे ~ / .zshrc में चाहता था:

bindkey -e #Use emacs mode, it's more sane for beginners
bindkey '^[[1;5C' forward-word # [Ctrl-RightArrow] - move forward one word
bindkey '^[[1;5D' backward-word # [Ctrl-LeftArrow] - move backward one word
# Also, If you want to copy paste this into your zshrc,
# I'm pretty sure you would have to add this at the top : 
# setopt interactive_comments

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