2011-02-06 7 views
11

उदाहरण के लिए, अगर मैं इस टिप्पणी करना चाहते हैं:।emacs पर lisp: एक बहु-पंक्ति अभिव्यक्ति पर टिप्पणी कैसे करें?

(defun noop() 
    nil) 

जब भी मैं "(defun" से पहले एक अर्धविराम डाल करने के लिए प्रयास करते हैं, defun अगली पंक्ति में भाग जाता है तो कैसे कि माना जाता है ? किया

जीएनयू Emacs 23.1.1

संपादित करें: द्वारा "दूर चल रहे" मेरा मतलब है जब मैं पहले एक अर्धविराम डालें "(defun", एक नई पंक्ति स्वचालित रूप से अर्धविराम के बाद डाला जाता है और "(defun" पर शुरू होता है एक नई लाइन फिर से।

+2

यह मेरे लिए काम करता है, कोई दूर यहां चल रहा है। क्या आप कह रहे हैं कि जब आप "(defun" से पहले अर्धविराम डालते हैं, तो इसके बाद एक नई लाइन स्वचालित रूप से डाली जाती है और "(defun" एक नई लाइन पर फिर से शुरू होती है? यह बहुत अजीब होगा; यह मेरे emacs संस्करणों में से एक में नहीं होता है (जीएनयू Emacs 22.1 और एक्वामाक्स Emacs जीएनयू Emacs 22.3.1 के आधार पर) – joriki

+0

हाँ, ऐसा होता है। जीएनयू Emacs 23.1.1 – Ron

+2

आप सबसे अधिक संभावना paredit स्थापित किया है। – Svante

उत्तर

5

रॉन, CTRL-H m करें और मामूली मोड देखें। आपके पास कुछ "सहायक" मामूली मोड सक्रिय है। (शायद paredit लेकिन मुझे नहीं लगता कि यह है।) मुझे याद है कि जब मैंने ईएमएसीएस स्टार्टर किट की कोशिश की तो ऐसा कुछ था। चिल्लाए जाने से पहले यह तीस सेकंड तक चला और पाया कि इसे कैसे मारना है।

किसी भी मामले में, यह डिफ़ॉल्ट ईएमएसीएस व्यवहार नहीं है, यह कुछ init-file या साइट-emacs अतिरिक्त है।

+3

टाइप करें 'च के;' और Emacs आपको बताएंगे कि कौन सा आदेश अर्धविराम बाध्य है, और कौन सी लाइब्रेरी इसे परिभाषित करता है। वहां से आपको यह पता लगाने में सक्षम होना चाहिए कि आपको क्या अक्षम करना है। – phils

11

एम-एक्स टिप्पणी-क्षेत्र और संबंधित।

5

दोनों पंक्तियों को चिह्नित करें और M-x comment-region पर कॉल करें। comment-or-uncomment-region और comment-dwim फ़ंक्शंस को भी देखें।

5

M-X comment-dwim या M-; है, जो पूर्व के लिए बाध्यकारी डिफ़ॉल्ट कुंजी है - आप कुछ प्रमुख स्ट्रोक की बचत हो सकती है, क्योंकि यह न केवल टिप्पणी है, लेकिन uncomments क्षेत्र है, अगर यह पहले से ही टिप्पणी की है। वैसे भी, उचित वर्णन के लिए Emacs Manual देखें।

+0

दुर्भाग्यवश मेरे emacs पर एमएक्स टिप्पणी-dwim लाइन के अंत में अर्धविराम सम्मिलित करता है, एम-; तीन अर्धविराम और एक नई लाइन डालें – Ron

2

आप कॉमन लिस्प के बारे में बात करते हैं कर रहे हैं (बजाय, कहते हैं, Emacs-लिस्प) #+(or), तो आप उपयोग कर सकते हैं:

#+(or) 
(defun noop() 
    nil) 

जानकारी के लिए CLHS देखें।

2

विशेष कार्य आप शीर्षक में के लिए कहा के लिए निम्न बिंदु अभिव्यक्ति के क्षेत्र स्थापित करने के लिए, पहली प्रेस C-M-SPC (mark-sexp करने के लिए बाध्य) (एक पूर्ण अभिव्यक्ति एक ही बार में कई पंक्तियों अवधि सकता है कि टिप्पणी), और फिर M-; (comment-dwim से बाध्य है जो comment-region पर कॉल करेगा)।

1

एक छोटे से पार्टी के लिए देर हो चुकी है, तथापि, किस बारे में:

(defmacro comment (&rest a)) 
संबंधित मुद्दे