2017-11-14 10 views
5

मैं एसएलईएमई की प्रतिलिपि के साथ emacs पर paredit का उपयोग करता हूं। इसका मतलब है कि प्रतिलिपि पर मेरे टाइपिंग के दौरान किसी भी समय, मेरे एस-अभिव्यक्ति संतुलित हैं।प्रतिकृति में paredit के साथ Emacs पर SLIME - अपूर्ण लेकिन संतुलित अभिव्यक्तियों के निष्पादन को रोकने के लिए कैसे?

हालांकि, वे पूरा नहीं हो सकता है, और इस प्रकार मैं, एक और लाइन में उन्हें अंदर टाइपिंग जारी रखने के लिए चाहते हो सकता है:

CL-USER> (defun print-hello() 
      ) 

जब मैं कुंजी दर्ज दबाकर एक नई लाइन शुरू, फिर भी, एसएलआईएमई प्रतिलिपि मेरी अपूर्ण अभिव्यक्ति निष्पादित करता है। मैं चाहता हूं कि यह अभिव्यक्ति को पूरा करने के लिए मेरे लिए प्रतीक्षा करें, निम्नानुसार:

CL-USER> (defun print-hello() 
      (format t "Hello, world")) 

मैं यह कैसे करूं?

+4

उपयोग 'सी-j' बजाय। – jkiiski

+0

यह काम किया। धन्यवाद! – ARV

+1

मल्टी लाइन एक्सप्रेशन के लिए कीचड़ स्क्रैच बफर का उपयोग करने पर विचार करें, असली से कहीं अधिक सुविधाजनक –

उत्तर

0

कि स्थितियों के लिए, जब आरईपीएल में लंबे स-भाव लेखन मुझे लगता है कि सबसे अच्छा तरीका है slime scratch buffer उपयोग करने के लिए है। आप इसे संपादित कर सकते हैं और उसके बाद

साथ निष्पादित मुख्य न्यायाधीश

कोई समस्या नहीं है दबाने बफर अंदर प्रवेश करते हैं, मैं धूर्त का उपयोग कर रहा हूँ, लेकिन कब्जा इस तरह हो सकता है:

(defun print-hello() 
      (format t "Hello, world")) 
; => PRINT-HELLO 

इसके अलावा एक और विकल्प

:-(पिछले माता पिता के बिना काम कर रहा है या के रूप में @jkiisky द्वारा एक टिप्पणी में सुझाव दिया, अभिव्यक्ति टाइप करें और रों पूर्व के बीच में जोड़ने अभिव्यक्ति C-j

CL-USER> (defun 
) 
0

आपके प्रश्न से संबंधित, lispy कीचड़ के साथ एकीकरण प्रदान करता है।

मैं आम तौर पर आरईपीएल बफर में कुछ भी लिखने कभी नहीं। इसके बजाय, मैं स्रोत फ़ाइल में ही स्थान में सभी कोड को संपादित, और वर्तमान sexp eval को का उपयोग करें।

lispyparedit का सुपर-सेट भी है, यदि संगतता आपकी चिंता है।

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