2010-03-27 5 views
49

ess-mode "Emacs आंकड़े बोलता है।" यह मोड आर या स्प्लस (दो अलग-अलग आंकड़े पैकेज) के लिए प्रोग्राम संपादित करने के लिए उपयोगी है।अंडर को प्रतिस्थापित करने से emacs को कैसे रोकें <- ess-mode

मेरे बफर में, जब भी मैं _ टाइप करता हूं तो चरित्र <- के साथ प्रतिस्थापित किया जाता है, जो बहुत निराशाजनक होता है। क्या इस व्यवहार को बंद करने के लिए कोई emacs lisp कथन है?

Emacs: 22.1.1 ईएसएस-मोड रिहाई (अज्ञात)

+4

मुझे यह सुविधा काफी सुविधाजनक लगता है, और माइकल पोस्ट की तरह, अंडरस्कोर को दो बार दबाकर एक शाब्दिक अंडरस्कोर डाला जाता है। असाइनमेंट स्ट्रिंग '<-' अंडरस्कोर की तुलना में आर प्रोग्रामिंग में कहीं अधिक उपयोग किया जाता है (या यह सिर्फ मेरी धारणा है)। वैसे भी, यह मेरे लिए अच्छी तरह से नौकरी करता है ... – aL3xa

+1

डुप्लिकेट - देखें http://stackoverflow.com/questions/1816238/how-to-turn-off-auto-replacement-in-emacs-speaks-statistics-for- आर – csgillespie

+0

aL3xa से सहमत है यह सुविधा एक बड़ी वर्कफ़्लो सहायता है। – mcheema

उत्तर

60
ESS's manual से

("5.2.0 में परिवर्तन/नई सुविधाएँ" के अंतर्गत देखें):

ईएसएस [एस]: दबाने अंडरस्कोर ("_") एक बार "< -" (पहले जैसा) सम्मिलित करता है; अंडरस्कोर दबाने से दो बार एक शाब्दिक अंडरस्कोर होता है। करने के लिए ":" "इस स्मार्ट व्यवहार रोकने के लिए, के बाद ईएसएस साइट

+8

बस स्पष्ट होने के लिए, '(' ess-site 'की आवश्यकता है) '.acacs या .emacs.d/init.el में' (ess-toggle-underscore nil)' से पहले होना चाहिए। – jthetzel

3

लोड किया गया है http://www.r-bloggers.com/a-small-customization-of-ess/ और How to change smart assign key ("_" to "<-") binding in ESS

से सौंपे जाने वाले अपने .emacs करने के लिए" (ईएसएस-टॉगल-अंडरस्कोर नहीं के बराबर) "जोड़ने < - "और अंडरस्कोर (underbar) का काम बंद करने के लिए" _ "के लिए" < - "निम्नलिखित .emacs में डाल (हाँ, बार-बार लाइन सही है)

(setq ess-smart-S-assign-key ":") 
(ess-toggle-S-assign nil) 
(ess-toggle-S-assign nil) 
(ess-toggle-underscore nil) ; leave underscore key alone! 
2

के बाद से सुविधा उपयोगी है। आप इसे अन्य कुंजी पर असाइन कर सकते हैं जो आर में आपके द्वारा कम उपयोग किया जाता है, यह स्वचालित रूप से अंडरस्कोर से इसे असाइन कर देगा। मैं व्यक्तिगत रूप से इसे ";" पर .emacs फ़ाइल में निम्न पंक्ति जोड़कर असाइन करता हूं।

(setq ess-smart-S-assign-key ";") 

Emacs का मेरा संस्करण 24.3 विन्सेंट गौलेट सभी-इन-वन स्थापना फ़ाइल। (खिड़कियों पर स्थापित 7)

आशा है कि यह

में मदद करता है संपादित Emacs 25.2 ऊपर कर में है काम नहीं करते हैं .emacs फ़ाइल में निम्नलिखित जोड़ें

(setq ess-smart-S-assign-key ";") 
(ess-toggle-S-assign nil) 
(ess-toggle-S-assign nil) 
+1

इसने अंडरस्कोर प्रतिस्थापन की समस्या को रोक दिया, लेकिन जब मैं ";" दबाता हूं यह एक "<-" नहीं बनाता है ...? – maia

+0

यह विंडोज 7 पर emacs के मेरे संस्करण में '<-' बनाता है। क्या आपका कोई अलग है? – Kushdesh

1

एक हालिया संस्करण जो प्रतीत होता है घ मेरे लिए काम करने के लिए, और बहुत कम वर्बोज़ है (आप अनिवार्य रूप से सामान्य अंडरस्कोर रखने के लिए, लेकिन यह स्मार्ट व्यवहार के लिए अपने स्वयं के कुंजी सेट कर सकते हैं!):

(global-set-key (kbd "C-;") (lambda() (interactive) (insert " <- "))) 
(ess-toggle-underscore nil) 

C-; के बजाय अपने shortkey पसंद डालें।

संबंधित मुद्दे

 संबंधित मुद्दे