Emacs

2012-09-27 13 views
5

में वर्तमान (गैर-परमाणु) एस-अभिव्यक्ति हटाएं कर्सर स्थान के आधार पर सबसे छोटी संभव गैर-परमाणु एस-अभिव्यक्ति को हटाने का कोई आसान तरीका है? मैं इस चालू करना चाहते हैं | इसEmacs

(defun foo (bar) 
    |) 

यह करने के लिए सक्षम होने के लिए एक उपयोगी चीज की तरह लगता है में

(defun foo (bar) 
    (if bar 
     |789 
    (+ 456 123))) 

("" कर्सर है), लेकिन मैं एक प्रासंगिक नहीं पा सके (एक-चरण) कमांड Paredit cheat sheet पर।

उत्तर

4

मुझे या तो एक पूर्वनिर्धारित आदेश नहीं मिला।

सौभाग्य से, Emacs के साथ यह स्वयं को लागू करना वास्तव में आसान है।

उदाहरण के लिए:

(define-key global-map (kbd "C-c C-d") 
    (lambda() (interactive) (backward-up-list) (paredit-kill))) 
+6

मैं परमाणु कमांड के बजाय 'सी-एम-यू सी-एम-के' का उपयोग करने की सलाह देता हूं। – m2ym

+0

@ m2ym बहुत बहुत धन्यवाद! इस के लिए समारोह खोजने की कोशिश कर रहे समय का एक गुच्छा खर्च करें। किसी कारण से, 'पेरेडिट-बैक-अप' ('सी-एम-यू' से जुड़ा हुआ) ParEdit संदर्भ कार्ड में सूचीबद्ध नहीं है (कम से कम, उस पर नहीं जो Google में पहली बार आता है) ... – Jay

0

ग्रहण कर्सर एक नंबर 789 में नहीं है, लेकिन एक स्ट्रिंग के अंदर इस जगह "फू"।

यह आदेश विफल हो जाएगा।

है यही कारण है कि अर-मारने-parentized-atpt और संबंधित एक्सटेंशन

http://launchpad.net/s-x-emacs-werkstatt/

0

C-M-u paredit 23 में तार के अंदर सही काम करता है पर मौजूद हैं, इसलिए `सी एम यू सी-एम-कश्मीर 'एक स्ट्रिंग के अंदर भी काम करेंगे।