Ctrl + left एरो शब्दों को क्यों नहीं छोड़ता है?


20

मैं अपने Ubuntu 12.04 पर हूं। हर बार जब मैं पाठ संपादित कर रहा होता हूं, तो मैं शब्दों के बीच जाने / कूदने के लिए ctrl+ left/ rightका उपयोग करता हूं । हाल ही में, मैंने अपने स्क्रीनसेवर को सक्रिय करने के लिए xscreensaver और कीबोर्ड कीबोर्ड शॉर्टकट स्थापित किए। लेकिन फिर, Ctrl+ ने leftसामान्य रूप से जवाब देना बंद कर दिया (अगले शब्द के बाईं ओर जाएँ)। Ctrl+ rightअभी भी सही करने के लिए अगले शब्द के लिए कूदता है। समस्या यह है कि क्या मैं टर्मिनल, Gedit का उपयोग कर रहा हूं या यहां तक ​​कि वेबपृष्ठों में पाठ टाइप कर रहा हूं।

मैं ग्नोम-स्क्रीनसेवर पर वापस लौट आया, xscreensaver (मेरे कीबोर्ड शॉर्टकट भी ठीक किए) को हटा दिया। लेकिन मुद्दा बना हुआ है।

मैं से सामग्री की प्रतिलिपि करने की कोशिश की /etc/inputrcकरने के लिए ~/.inputrc(डिफ़ॉल्ट रूप से, मैं ~ / .inputrc नहीं है)। मुझे यहां कुछ जानकारी मिली: जब मैं नेविगेट करने के लिए Ctrl और एरो कुंजी का उपयोग करता हूं तो अजीब अक्षर दिखाई देते हैं

कृपया मदद कीजिए।

संपादित करें: यहाँ मेरा है ~/.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[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

यदि मैं / etc / inputrc निकालता हूं, तो यहां मुझे क्या मिलेगा यदि मैं CTRL रखता हूं तो दायाँ तीर पांच बार दबाएं: Ctrl + दायाँ तीर दबाएँ

ऊपर की पहली छवि के विपरीत, CTRL को पकड़े हुए और बाएँ तीर को एक से अधिक बार दबाने पर ;5Dफिर से प्रिंट नहीं होगा ... ऐसा लगता है कि यह एक बार कमांड को स्वीकार कर रहा है और अब ऐसा नहीं करता है .. नीचे की छवि देखें: ctrl + left एरो दबाना



आप किस खोल का उपयोग कर रहे हैं?
सेर्गेई कोलोडियाज़नी

जवाबों:


25

में 1 ~/.zshrc

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

2 - या में ~/.bashrc

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

... और अब ctrl+ left/ rightशब्दों को ब्योबू / tmux में कूदो।

3 - के साथ गड़बड़ नहीं है inputrc


यह बहुत पहले से है ... पहले से ही ubuntu
itagomo

3
इसी तरह यदि आपके पास बैश शेल है, तो आपकी ~ / .bashrc फ़ाइल में बाइंड '' \ e [1; 5 डी "बैकवर्ड-वर्ड 'बाइंड'" \ e [1; 5 सी "फॉरवर्ड-वर्ड '
इस्माइल

3

मुझे भी बिल्कुल यही समस्या है। मैंने इन पंक्तियों को अपनी ~/.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

केवल पहली 2 पंक्तियों की आवश्यकता है
davidchoo12

1

का उपयोग करके inputrc फ़ाइल बनाएँ touch ~/.inputrc
आपके द्वारा निर्दिष्ट लिंक में स्वीकृत उत्तर की सामग्री की प्रतिलिपि बनाएँ। जब मैं Ctrl और एरो कुंजियों को नेविगेट करने के लिए दिखाई देने वाले अजीब अक्षर दिखा रहा हूँ , तो इस फ़ाइल में ~ / .inputrc कुछ पाठ संपादक का उपयोग करके फ़ाइल को खोलें। बचाओ। कमांड
का उपयोग करके फ़ाइल पढ़ें bind ~/.inputrcया एक नया टर्मिनल पुनरारंभ करें। काम करना चाहिए ..


मैंने पहले ही अपना ~ / .inputrc बना लिया। वही सामग्री जो मेरे / etc / inputrc में है। यहाँ समस्या यह है कि "CTRL + Left arrow" कमांड बाईं ओर के अगले शब्द पर नहीं जाती है। लेकिन इससे अलग, सभी कार्य काम करते हैं। कोई और उपाय?
इटैगोमो

ऐसा लगता है कि ctrl + left एरो के लिए बंधन किसी भी तरह ओवरराइड हो रहा है। क्या आप inputrc फ़ाइल की सटीक सामग्री शामिल कर सकते हैं? दूसरी संभावना यह हो सकती है कि लाइन विकृत हो सकती है। वैसे, क्या ctrl + left संयोजन के लिए बाइंडिंग ~/.inputrcफ़ाइल की अंतिम पंक्ति है ?
ड्रेक 01

संपादित पोस्ट .. ऊपर देखें .. अतिरिक्त जानकारी, CTRL कुंजी को दबाकर (जारी नहीं करना चाहिए) शब्दों को छोड़ देना, फिर हर बार एक बार दबाने के बाद मैं शब्दों के माध्यम से कूदना चाहता हूं .. लेकिन बाईं ओर जाने के लिए, मुझे आवश्यकता है CTRL कुंजी जारी करने के लिए हर बार जब मैं शब्दों को छोड़ रहा हूँ ..
itagomo

कोई भी जो मदद कर सकता है?
इटैगोमो

1

मुझे पता चला कि Ctrl + Left ट्रिगर करने से बाईं ओर के शब्द लंघन काम नहीं करते थे (तब भी नहीं जब मैंने कुछ को ~ / .inputrc या ~ / .zshrc में जोड़ा) क्योंकि डिफ़ॉल्ट रूप से यह शॉर्टकट पहले से ही Ubuntu में उपयोग किया जाता है (यह आकार बदलता है। वर्तमान विंडो क्षैतिज रूप से)। आप सिस्टम -> प्राथमिकताएँ -> कीबोर्ड शॉर्टकट मेनू में डिफ़ॉल्ट शॉर्टकट बदल सकते हैं। मैंने अभी इसे मुक्त करने के लिए Ctrl + Left द्वारा Ctrl + Left को प्रतिस्थापित किया है। इस प्रतिस्थापन के बाद, Ctrl + Left का उपयोग करके बाईं ओर शब्दों को छोड़ देना ठीक काम करता है! बिना ~ / .inputrc या ~ / .zshc के भी।


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