2013-10-10 8 views
24

के साथ पूरा टैब टैब मैं आर्क लिनक्स में oh-my-zsh का उपयोग कर रहा हूँ robbyrussell थीम लोड के साथ। जब मैं टैब को पूरा करने का प्रयास करता हूं तो मैं प्रॉम्प्ट पर शेष अवशेषों के साथ समाप्त होता हूं। अगर मैं स्वत: पूर्ण वर्ण हटा देता हूं, तो शेष वर्ण हटा नहीं जाते हैं।शेष वर्ण जब ZSH

उदाहरण के लिए

, अगर मैं में टाइप करें:

~ /etc 

तो टैब, यह नीचे दिए गए विकल्पों की सूची के साथ

~ /e/etc/ 

में बदल जाता है। यहां तक ​​कि अगर मैं /etc/ हटाते हैं, तो /e रहता है और मैं के साथ अटक कर रहा हूँ:

~ /e 

मैं /e हटा नहीं सकते। मुझे अवशेष चरित्र से छुटकारा पाने के लिए एक आदेश निष्पादित करना होगा।

कोई विचार क्या हो रहा है?

+0

अधिक जानकारी के बिना, यह शायद एक लापता चरित्र या अपने प्रॉम्प्ट में दो है। [इस सवाल] पढ़ें (उदाहरण के लिए, http://stackoverflow.com/questions/7957435/zsh-auto-complete-screws-up-command-name/10644062#10644062)। क्या आप नवीनतम ओह-माय-जेएसएच का उपयोग कर रहे हैं? क्या आपने प्रॉम्प्ट को बिल्कुल संशोधित किया है? क्या मैं गिटहब से ओह-माय-जेएसएच परीक्षण करने के लिए डाउनलोड कर सकता हूं, और आपके सेटअप का सटीक प्रतिनिधित्व कर सकता हूं? :) – simont

उत्तर

0

बाहर निकलता है यह एक लोकेल मुद्दा था। लोकेल-जेन चलाना तब तक काम नहीं करता जब तक कि मैंने कहीं कुछ कॉन्फ़िगरेशन फ़ाइल हटा दी और इसे फिर से चालू नहीं किया।

आपकी सलाह हालांकि संकेत के लिए अच्छा है। धन्यवाद।

+0

आप समाधान पर अधिक विशिष्ट हो सकते हैं, जैसे कि मेरे जैसे अन्य उपयोगकर्ताओं को यह समझने में परेशानी हो रही है कि आपने समस्या का समाधान कैसे किया है। –

+2

मेरी इच्छा है कि मैं अधिक विशिष्ट हो सकता हूं, लेकिन मूल रूप से मैं यूटीएफ 8 से लैटिन में /etc/locale.gen में बदल गया था और जब मैं इसे वापस यूटीएफ 8 में बदलने गया तो मुझे समस्याएं शुरू हुईं। मैंने बहुत सी फाइलें हटा दीं और मुझे वह लेख नहीं मिला जो मुझे बताता है कि कौन सी फ़ाइल ने मेरे लिए इसे हल किया है। अंत में यह /etc/locale.gen को सही और लोकेल-जेन रूट के रूप में चलाने के लिए नीचे आ गया। मैंने एक ही बॉक्स पर नया आर्क स्थापित किया है और तब से उस समस्या को फिर से नहीं मिला है। –

17

जैसा कि सिमॉन्ट द्वारा सुझाया गया है, यह संभावना है कि आप जिस प्रॉम्प्ट का उपयोग कर रहे हैं वह अप्रचलित पात्रों (जैसे रंग से बचने वाले कोड) का उपयोग कर रहा है लेकिन यह इंगित नहीं करता कि वे वर्ण अप्राप्य हैं। तो जब संकेत को फिर से खींचा जाता है तो टर्मिनल का मानना ​​है कि संकेत वास्तव में उससे बड़ा है।

आप इंगित करते हैं कि zsh प्रॉम्प्ट में वर्ण अनुक्रम में %{ और %} डिलीमीटर का उपयोग करके शून्य चौड़ाई है। उदाहरण के लिए मेरी शीघ्र है:

%{%(?.%F{green}.%F{red})%}➜%{%f%} 

(?...) एक त्रिगुट जो शीघ्र के रंग सेट है और यह संकेत मिलता है कि यह शून्य चौड़ाई है के रूप में चिह्नित किया गया है। उसी तरह %f रंग रीसेट करता है और इसे भी चिह्नित किया गया है।

आप पीएस 1 वैरिएबल को अपडेट करके अपने प्रॉम्प्ट में बदलावों का परीक्षण कर सकते हैं, ताकि आप विभिन्न व्यवस्थाओं को आजमा सकें और देखें कि आपके लिए क्या काम करता है।

आप इस तरह से किसी भी वर्णों को चिह्नित कर सकते हैं, इसलिए अपने प्रॉम्प्ट को बहुत कम बनाने के बारे में सावधान रहें!

5

मैं तो एक समाधान के लिए अपने खोज पर मैं इस लेख का सामना करना पड़ा, एक ही समस्या थी: https://wiki.archlinux.org/index.php/Locale

और, के रूप में यह सुझाव दिया गया था, कुछ स्थान सक्षम करने के लिए सिस्टम-वाइड, तो आप सिर्फ uncomment वांछित जरूरत /etc/locale.gen पर स्थान में, उदाहरण के लिए, मेरे मामले में:

en_US.UTF-8 UTF-8 

फ़ाइल पर परिवर्तन सहेजने के बाद, (रूट के रूप में) पर अमल कमांड लाइन पर:

locale-gen 

रीबूट, और यह काम करता है!(कम से कम मेरे लिए)

48

ऐसा लगता है मैं लोकेल विन्यास और गैर UTF8 विन्यास

मेरे मामले में के साथ मुद्दों था फिक्स था:

export LC_ALL="en_US.UTF-8" 

और यह स्थायी रखने .zshrc करने के लिए लाइन जोड़ने : उबंटू दस्तावेज़ में

echo "export LC_ALL=en_US.UTF-8" >> .zshrc 

अधिक जानकारी https://help.ubuntu.com/community/Locale

+1

यह स्वीकार्य उत्तर होना चाहिए। स्वीकार किए जाने के रूप में एक नकारात्मक मतदान जवाब दुर्भाग्यपूर्ण है। – Harry

+0

बहुत बहुत धन्यवाद। यह मुझे बहुत मदद करता है। – MOHRE

+0

डिफ़ॉल्ट '.zshrc' में निम्न पंक्ति को असम्बद्ध करना भी मेरे लिए चाल करना प्रतीत होता है: 'निर्यात LANG = en_US.UTF-8' – skube

0

मुझे एक समान समस्या थी, हालांकि ओह-माय-जेएसएच के साथ नहीं, लेकिन प्रॉम्प्टलाइन; मेरे लिए समाधान मेरी विन्यास से दूर करने के लिए किया गया था:

ZLE_PROMPT_INDENT=0