घर की चाबी टर्मिनल में काम नहीं कर रही है


13

मैं गनोम टर्मिनल 2.7.3 और zsh 4.3.9 (x86_64-अज्ञात-लिनक्स-ग्नू) का उपयोग कर रहा हूं

Homeऔर Endकाम नहीं कर रहे हैं। जब मैं उन्हें दबाता हूं तो कुछ नहीं होता है और कुछ भी प्रदर्शित नहीं होता है। लेकिन वे तब काम करते हैं जब मैं प्रेस shift + Home(शेल आउटपुट की शुरुआत में स्क्रॉल करता हूं ।) और अन्य जीयूआई कार्यक्रमों में भी काम करता हूं । मैंने गुगली की और निम्नलिखित कोशिश की। कोई परिवर्तन नहीं होता है :(

  885  bindkey "\e[1~" beginning-of-line
  886  bindkey "\e[H" beginning-of-line
  887  bindkey "\e1~" beginning-of-line
  888  bindkey "\eH" beginning-of-line
  889  bindkey "\e[0H" beginning-of-line

PS: जब मैं आखिरी टैब में होता Ctrl + pagedownहूं और प्रेस करता हूं ;5~तो स्क्रीन पर प्रिंट हो जाता है। क्या इससे कोई सुराग मिलता है?


क्या .inputrcआपके घर में निर्देशिका है? क्या यह नए सिरे से बनाए गए उपयोगकर्ता के साथ होता है? क्या यह हमेशा होता है, या यह एक दिन शुरू हुआ?
बहमट

नहीं, मेरे पास नहीं है .inputrc। मुझे नया उपयोगकर्ता बनाने की अनुमति नहीं है। हमेशा से ऐसा ही था। मैं के साथ रह रहा हूँ ctrl +aऔर ctrl+e
बाल्की

1
मैं उस मामले मेरा सुझाव नहीं होगा में लगता है ctrl+aऔर ctrl+e;-)
bahamat

जवाबों:


4

अब मैं फेडोरा पर हूँ, फिर भी मैं आपको आर्कलिनक्स की विकी को ध्यान से पढ़ने का सुझाव देता हूँ , यह सब: घर और अंत की चाबियाँ काम नहीं कर रही हैं

मैंने इसे ठीक करने के लिए क्या किया:

  1. Ctrl-V होम दबाएं, होम कुंजी के लिए बचा हुआ क्रम मुद्रित है। ऐसा नहीं है \e[4~ और \e[1~जैसा कि मुझे देखने की उम्मीद है /etc/inputrc। यह था [Hऔर[F

  2. टर्मिनल जानकारी निकालें infocmp $TERM >terminfo.src

  3. संपादन के लिए उस फ़ाइल को खोलें, जैसे vim terminfo.src, देखें khomeऔर kendयह किसी चीज़ को असाइन किया गया है, मान लें कि khome=\E[1~और kend=\E[4~इस मामले में काम नहीं कर रहा है। इसे हटा दें और इसे चरण 1 में पाए गए अनुक्रम से बदल दें, इसलिए मेरे लिए, संपादन के बाद यह था: khome=\E[Hऔर kend=\E[F

  4. यदि आप इसे सुरक्षित खेलना चाहते हैं तो सुनिश्चित करें [Fऔर [H(या जो भी अनुक्रम आपने अभी उपयोग किया है) उसे किसी और चीज़ को नहीं सौंपा गया है या चीजों को गड़बड़ कर दिया जाएगा!

  5. रन tic terminfo.srcजो ~/.terminfoनिर्देशिका बनाता है ।

  6. .zshrcकिसी भी और सभी अन्य आदेशों के पहले शीर्ष पर :export TERMINFO=~/.terminfo

एक नई टर्मिनल विंडो खोलें और आप ठीक होना चाहिए, घर और अंत अब काम करना चाहिए।

पुनश्च: बाइंडकी विधि सैद्धांतिक रूप से काम करना चाहिए और आसान है, लेकिन यह मेरे लिए नहीं था।


CentOS + बैश - कार्यों में भी परीक्षण किया गया ! धन्यवाद :)
कसिया गौज़ा

6

फ़ंक्शन और कर्सर कुंजियों द्वारा भेजे गए एस्केप सीक्वेंस में प्रिंट करने योग्य वर्णों के बाद एक एस्केप कैरेक्टर होता है। Ctrl+ Vतब दबाएँ Home। यह भागने के क्रम को शाब्दिक रूप से सम्मिलित करेगा। फिर अपने लिए एक bindkeyनिर्देश जोड़ें ~/.zshrc

निर्देश होने की संभावना है (नोट O, नहीं 0):

bindkey '\e[OH' beginning-of-line
bindkey '\e[OF' end-of-line

जब मैं Ctrl दबाता हूं तो कुछ भी प्रिंट नहीं होता है। कुछ नहीं हुआ। 0 से ओ को भी बदलने की कोशिश की।
बलकी

@balki यह Ctrl + V है, Ctrl नहीं। मुझे लगा कि मेरे उत्तर में एक प्रारूपण समस्या थी।
गाइल्स का SO-

धन्यवाद! :) अब मैं करने के लिए इस्तेमाल कर रहा हूँ ctrl + aऔर ctrl +eऔर vi मोड
बाल्की

5

मैंने पाया मैं हिट करने के लिए किया था CTRL-v, जाने, फिर जाने Homeया Endकुंजी दृश्यों पाने के लिए ^[[Hऔर ^[[Fके लिए Homeऔर Endक्रमशः। .zshrcफ़ाइल में निम्न पंक्तियों को जोड़ने से मेरे लिए समस्या हल हो गई:

bindkey '^[[H' beginning-of-line
bindkey '^[[F' end-of-line

2

इन पंक्तियों को इसमें जोड़ें /etc/zshrcऔर फिर एक करें source /etc/zshrc( यहाँ से लिया गया )

bindkey '\e[1~'   beginning-of-line  # Linux console
bindkey '\e[H'    beginning-of-line  # xterm
bindkey '\eOH'    beginning-of-line  # gnome-terminal
bindkey '\e[2~'   overwrite-mode     # Linux console, xterm, gnome-terminal
bindkey '\e[3~'   delete-char        # Linux console, xterm, gnome-terminal
bindkey '\e[4~'   end-of-line        # Linux console
bindkey '\e[F'    end-of-line        # xterm
bindkey '\eOF'    end-of-line        # gnome-terminal

2

इस जवाब ने मेरी समस्या को बहुत अच्छा समझा और इसे ठीक किया।

/programming//a/686458/5472892

टी एल; डॉ: डिफ़ॉल्ट से अपने पुट्टी टर्मिनल प्रकार परिवर्तित xtermकरने के लिए linux

शायद कोई इसका इस्तेमाल भी कर सकता है।

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