~ / .inputrc फ़ाइल सही ढंग से सोर्सिंग नहीं


14

मेरे पास यह ~ / .inputrc फ़ाइल है जिसे मैंने कुछ प्रमुख बाइंडिंग के लिए बनाया है।

# 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

जब भी मैं दौड़ने की कोशिश करता हूं source ~/.inputrc, यह मुझे निम्न त्रुटि देता है:

\ e [1; 5 सी: फॉरवर्ड-वर्ड: कमांड नहीं मिला। \ e [१; ५ डी: बैकवर्ड-वर्ड: कमांड नहीं मिला। \ e [५ सी: फॉरवर्ड-वर्ड: कमांड नहीं मिला। \ e [५ डी: बैकवर्ड-वर्ड: कमांड नहीं मिला। \ e \ e [C: फॉरवर्ड-वर्ड: कमांड नहीं मिला। \ e \ e [D: बैकवर्ड-वर्ड: कमांड नहीं मिला।

जब मैं एक नया टर्मिनल खोलता हूं तो यह भी काम नहीं करता है, मुझे त्रुटि नहीं मिलती है लेकिन मेरे ctrl कुंजी संयोजन नए टर्मिनल में भी काम नहीं कर रहे हैं। मैंने इस फाइल को खुद बनाया है क्योंकि मेरे पास बदलने के लिए रूट एक्सेस नहीं है / etc / inputrc। क्या कोई व्यक्ति मेरी सहायता कर सकता है? धन्यवाद।

संपादित करें: मैंने बृहदान्त्र के बाद अंतरिक्ष के साथ फ़ाइल की कोशिश की है (:) साथ ही हस्ताक्षर। यह काम नहीं करता है। मैंने इसे अपना निष्पादन योग्य बनाने की कोशिश की (chmod + x ~ / .inputrc), काम नहीं किया।

EDIT: मैंने महसूस किया कि यह प्रक्रिया केवल 'बैश' के लिए है और मैं 'tsh' चला रहा हूं। 'Csh' के लिए, .bindingsफ़ाइल के बजाय .inputrcफ़ाइल का उपयोग करें और bindkeyसिंटैक्स का उपयोग करें ।

जवाबों:


12

बैश के लिए, यह अब वर्तमान में परिभाषित मैपिंग को फिर से लोड करेगा

bind -f  ~/.inputrc

bindआज्ञा कहाँ से प्राप्त करें ?
दानीजार २३'१

बाइंड एक शेल बिल्डिन है। आप कौन सा ओएस चला रहे हैं?
पॉल

मैं zsh के साथ डेबियन का उपयोग कर रहा हूं।
दानियार २४'१

यह मेरे लिए RHEL 7 पर बैश के साथ काम नहीं करता था। इस कमांड को चलाने के बाद भी मेरे .inputrc बाइंडिंग फिर से लोड नहीं हो रहे हैं।
user5359531

@ user5359531, क्या यह हो सकता है कि आपके पिछले बाइंडिंग "अन-लोडिंग" नहीं हैं? (यदि वे स्पष्ट रूप से सेट नहीं हैं, तो वे वैसे ही रहेंगे जैसे वे पहले थे।) या शायद कुछ और, जैसे आपके ~ / .inputrc नहीं है $include /etc/inputrc?
mwfearnley

6

.inputrcफ़ाइल एक फ़ाइल sourced होने की नहीं है। यह bashरीडलाइन लाइब्रेरी का उपयोग करके स्वचालित रूप से या अन्य सॉफ़्टवेयर को ध्यान में रखा जाना चाहिए । यदि यह काम नहीं करता है, तो बृहदान्त्र के बाद एक स्थान जोड़ें, जैसे

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

(मैंने हमेशा इस कॉन्फ़िग फ़ाइल में एक स्थान देखा है)।


1
+1 "रीडलाइन लाइब्रेरी का उपयोग करके अन्य सॉफ़्टवेयर" पर जोर। .inputrcएक शेल स्क्रिप्ट नहीं है; यह एक readlineकॉन्फ़िगरेशन फ़ाइल है।
20

वास्तव में, यह है कि मैं इसे पहले कैसे किया था और मैंने इसे बिना जगह की कोशिश के इसे बदल दिया। यह किसी भी तरह से काम नहीं करता है। मैंने उसे एडिट में जोड़ा है। धन्यवाद।
rrlamichhane

5

~/.inputrcप्रश्न में पोस्ट की गई कुंजी बाइंडिंग और फ़ाइल के लिए है bash। के लिए csh(या tcsh) एक फ़ाइल ~/.bindingsका उपयोग करें और सिंटैक्स का उपयोग करें।

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

कुछ गुगली के बाद यह एहसास हुआ।


जो भी कारण के लिए, मेरे tsch .bindings फ़ाइल को अनदेखा कर रहा था। source ~/.bindingsमेरी ~/.cshrcफ़ाइल में इसे जोड़ना तय है।
ड्रमुएलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.