emacs

2011-12-04 28 views
7

में सभी बफर में एक फ़ंक्शन लागू करें Suppone कि मैं Emacs सत्र में सभी बफर में delete-trailing-whitespace लागू करना चाहता हूं। मैं उसे कैसे कर सकता हूँ?emacs

मेरे पास इस सत्र में कई बफर हैं। तो मैन्युअल रूप से प्रत्येक बफर के लिए M-x delete-trailing-whitespace लागू करने के बजाय, मुझे इसे स्वचालित रूप से बनाने के लिए कुछ तरीका चाहिए।

आपको बहुत बहुत धन्यवाद

उत्तर

9

यह करना चाहिए:

(defun delete-trailing-whitespace-each-buffer() 
    (interactive) 
    (mapc (lambda (buffer) 
      (condition-case nil 
       (with-current-buffer buffer 
       (delete-trailing-whitespace)) 
      (buffer-read-only nil))) 
     (buffer-list))) 

यह केवल पढ़ने के लिए बफ़र्स पर कुछ नहीं करेंगे।

+0

बहुत बहुत धन्यवाद। यह काम करता हैं! – Israel

5

ibuffer एक और विकल्प है। आप अपने बफर में एक फॉर्म का मूल्यांकन करने के लिए जल्दी से बफर चुन सकते हैं (शायद regexp द्वारा), और दबाएं। यह किसी भी रूप के लिए काम करता है।