2010-11-03 22 views
15

को पुन: प्रस्तुत करते हुए मेरे पास एक सी ++ कोड फ़ाइल है लेकिन इसमें बहुत बदसूरत प्रेरणा है। मैं emacs को फ़ाइल में इंडेंटेशन को फिर से लागू करने के लिए कैसे कहूं?Emacs पूरे C++ बफर

उत्तर

8

यहाँ "मांगपत्र पूरे बफर" कोड मैं अपने ~/.emacs.d/defuns.el फ़ाइल में जगह का उपयोग कर सकते हैं। मैंने अतिरिक्त कदम उठाया और इसे त्वरित कुंजी, C-x \ पर बाध्य किया। यह आपके सभी फांसी वाले व्हिटस्पेस को भी साफ़ कर देगा और टैब वर्णों को उनके अंतरिक्ष समकक्ष प्रतिनिधित्व में भी परिवर्तित करेगा।

(defun indent-buffer()                                        
    "Indents an entire buffer using the default intenting scheme."                             
    (interactive)                                          
    (point-to-register 'o)                                       
    (delete-trailing-whitespace)                                      
    (indent-region (point-min) (point-max) nil)                                  
    (untabify (point-min) (point-max))                                    
    (jump-to-register 'o))                                       

(global-set-key "\C-x\\" 'indent-buffer)                                   

संपादित करें, को शामिल @JSONs नीचे सुझाव आप एक defun है कि इस के बजाय तरह लग रहा है दे देंगे:

(defun indent-buffer()                                        
    "Indents an entire buffer using the default intenting scheme."                             
    (interactive)                                          
    (save-excursion                                         
    (delete-trailing-whitespace)                                     
    (indent-region (point-min) (point-max) nil)                                  
    (untabify (point-min) (point-max))))                                   

मैं इस बाहर का परीक्षण किया और यह पहले की तरह काम करता है। जेएसओएन को इंगित करने के लिए धन्यवाद।

+0

पॉइंट-टू-रजिस्टर और जंप-टू-रजिस्टर की बजाय, सुधारना ब्लॉक को लपेटने के लिए बचत-भ्रमण का उपयोग करना बेहतर हो सकता है। – JSON

4

पूरे बफर का चयन करें और this guide देखें एम एक्स मांगपत्र क्षेत्र करना

28

C-x h C-M-\

इन दो आदेशों पूरे बफर का चयन करें और indent-region चलाते हैं।

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