2008-12-15 17 views
15

मैं अपने एमएक्स सत्र में Zsh का उपयोग करने की कोशिश कर रहा हूं, बिना सभी Zsh कुंजी को रीमेप कर रहा है। मैंने Ansi-term कार्यों के लिए बहुत अच्छी तरह से काम किया लेकिन मुझे अभी भी कुछ समस्याएं हैं। मैं के साथ outputted कबाड़ पात्रों के बहुत सारे हो रही थी, मैं के साथ इसे ठीक करने में सक्षम था:Emacs ansi-term और Zsh को अच्छी तरह से खेलने के लिए

## Setup proper term information for emacs ansi-term mode 
[[ $TERM == eterm-color ]] && export TERM=xterm 

लेकिन सब कुछ अभी भी पूरी तरह से काम नहीं करता। अब मुझे आउटस्क्रीन तैयार करने में परेशानी हो रही है, खासकर जब खोज के लिए सी-आर जैसे कुछ का उपयोग करना।

कोई विचार। किसी और के पास Zsh + Ansi-term ठीक से काम कर रहा है?

+3

+1 - आप केवल एक नहीं हैं। हालांकि, मैं केवल टीटी मोड में मैक पर इस मुद्दे का अनुभव करता हूं। – SetJmp

उत्तर

3

हमम। मुझे नहीं लगता कि मैंने कभी भी किसी भी फैंसी संपादन को उत्तर-अवधि के भीतर अच्छी तरह से देखा है, हालांकि मैंने शायद 20 वर्षों में इसकी कोशिश नहीं की है। मैं बस पूछूंगा, गुजरने में, यदि आपने शेल-मोड (एम-एक्स खोल) का प्रयास किया है क्योंकि यह ईएमएसीएस के साथ बहुत अधिक स्वाभाविक है।

उसने कहा, शब्द.एल फ़ाइल के माध्यम से पढ़ना, ऐसा लगता है जैसे ansi-term अपने आप को बहुत अधिक मैंगिंग कर रहा है। आप कम से कम ईएमएसीएस 22.3 में लाइन 1230 के आसपास शुरू होने वाले कच्चे मोड कोड को देखना चाहेंगे।

+0

'खोल' एकमात्र ऐसा था जो मेरे लिए काम करता था। धन्यवाद! – duma

0

मैंने इसे समझ लिया। यह एक emacs विन्यास समस्या थी। मेरे .emacs में elisp का यह बिट यह कारण था:

(custom-set-variables 
'(fringe-mode nil nil (fringe)) 
'(fringes-outside-margins t t)) 

सहायता के लिए धन्यवाद।

-1

झूठा अलार्म, जिसने इसे ठीक नहीं किया। मुझे जो मिला वह यह है कि यदि आप खिड़की का आकार बदल नहीं पाते हैं तो यह ठीक काम करता है। मुझे यह पसंद है पुन: पेश कर सकते हैं:

  1. लॉन्च एक साफ Emacs -q
  2. प्रारंभ एएनएसआई अवधि और उपयोग zsh
  3. बनाओ खिड़की की पूरी स्क्रीन
  4. आउटपुट कुछ है कि स्क्रीन पर आ जाएगा
  5. प्रकार सीआर
  6. प्रॉम्प्ट स्क्रीन से बाहर होगा

शायद कुछ तरीका है जो मैं कर सकता हूं आउटपुट के लिए क्षतिपूर्ति करने के लिए आउटपुट और मिनीबफर के बीच की जगह?

+2

हाय! अधिक जानकारी के साथ "उत्तर" जोड़ने के बजाय कृपया अपना मूल प्रश्न संपादित करें और अपडेट करें। –

1

मैं इसे थोड़ी देर के लिए भी ढूंढ रहा था। मेरे लिए

;; ansi-term 

(global-set-key "\C-x\C-a" '(lambda()(interactive)(ansi-term "/bin/zsh"))) 
(global-set-key "\C-x\ a" '(lambda()(interactive)(ansi-term "/bin/zsh"))) 

काम करने के लिए निम्नलिखित जोड़ना। मैंने इसे http://svn.assembla.com/svn/id774/scripts/dot_files/dot_emacs.d/elisp/global-set-key.el से चुना है।

मुझे यकीन है कि उस स्क्रिप्ट में अन्य उपहार भी हैं। एक अतिरिक्त बोनस स्क्रीन के रूप में मेरे लिए emacs के साथ अच्छी तरह से खेलना प्रतीत होता है।

12

MultiTerm आज़माएं।

यह एकमात्र Emacs टर्मिनल मोड है जो zsh के साथ अच्छा लगता है। यह आपको आसानी से सेट करने की अनुमति देता है कि आप कौन से कमांड को Emacs द्वारा कैप्चर करना चाहते हैं और जिसे आप टर्मिनल पर भेजना चाहते हैं। हालांकि अभी तक डिफ़ॉल्ट सेटिंग्स मेरे लिए काफी अच्छी रही हैं।

इसके अलावा, अपने .zshrc में निम्नलिखित जोड़ें ताकि emacs को आपकी वर्तमान निर्देशिका को ट्रैक करने की अनुमति मिल सके।

if [ -n "$INSIDE_EMACS" ]; then 
    chpwd() { print -P "\033AnSiTc %d" } 
    print -P "\033AnSiTu %n" 
    print -P "\033AnSiTc %d" 
fi 
+1

यह बहुत अच्छा है। क्या आप जानते हैं कि इसे एसएसएच कनेक्शन में कैसे विस्तारित किया जाए? (उदाहरण के लिए यह मानते हुए कि मेरा खोल किसी विशेष पथ पर रिमोट मशीन से जुड़ा हुआ है)। –

+0

@ AmelioVazquez-Reina - मेरी इच्छा है कि मैंने किया। यह वास्तव में उपयोगी होगा। – bengineerd

0

उपयोग Emacs में आदेश इतिहास खोज के लिए एम आर, नहीं सी आर