2012-09-30 14 views
7

मैं के साथ बहुत खुश हूँ में आरईटी पर ट्रिगर नहीं करते स्वत: पूर्ण लेकिन एक बात कीड़े मुझे:Emacs स्वत: पूर्ण: इनलाइन सुझाव

मैं तुरंत इनलाइन सुझाव लेकिन 0.9 के साथ मेनू दिखाने के लिए सेटअप कर रहा हूँ देरी मैं पहले कुछ अक्षर टाइप करता हूं उदा। "डेल" जो तुरंत "हटाएं" के लिए स्वत: पूर्ण इनलाइन प्राप्त करता है। अगर मैं "हटाएं" टाइप करना चाहता हूं तो मैंने TAB मारा और यह ठीक है। लेकिन क्या होगा यदि मैं वास्तव में "डेल" और एक नई लाइन टाइप करना चाहता था - यहां RET पर फिर से "हटाना" स्वतः स्वतः पूर्ण हो जाता है।

यदि केवल इनलाइन सुझाव दिखाया गया है तो मैं RET को नई लाइन के लिए कैसे मजबूर कर सकता हूं? एक बार ऑटो-पूर्ण मेनू प्रदर्शित होने के बाद मैं सामान्य रूप से ट्रिगर कुंजी बनना चाहता हूं।

धन्यवाद!

+0

'del Ctrl-d' आज़माएं। मैं एक कंप्यूटर पर नहीं हूं, मैं इसे देख सकता हूं। – Tyler

उत्तर

8

auto-complete मोड के लिए अन्य सेटिंग के बाद निम्नलिखित लाइनों को जोड़कर, आप केवल जब पूरा होने के मेनू के प्रदर्शित होने आरईटी तक पूरा करने को सक्षम कर सकते हैं:

(define-key ac-completing-map "\C-m" nil) 
(setq ac-use-menu-map t) 
(define-key ac-menu-map "\C-m" 'ac-complete) 

ac-completing-map एक कीमैप जहां आरईटी डिफ़ॉल्ट रूप से है ac-complete से बाध्य, और ac-menu-map पूर्णता मेनू पर पूरा होने के लिए एक कीपैप है। ac-menu-map कीमैप सक्षम है जब ac-use-menu-map चर t है।

एफवाईआई, किसी भी समय सी-जी दबाकर पूरा किया जा सकता है। तो आप सी-जी और आरईटीआरईटी की बाइंडिंग के साथ एक नई लाइन दर्ज करने में सक्षम होंगे। इसके अलावा, आप सी-जेआरईटी के बजाय उपयोग कर सकते हैं जब आप एक नई लाइन दर्ज करना चाहते हैं। सी-जे डिफ़ॉल्ट रूप से ac-complete से जुड़ा नहीं है।

+0

धन्यवाद! यह काम! मैं सी-जी के बारे में जानता था (मेरे पास इस कार्यक्षमता के लिए ईएससी भी है), लेकिन यह चिकनी प्रवाह को तोड़ देता है। – user673592

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