VI

2011-06-05 11 views
7

में नियमित अभिव्यक्तियों का एक सेट चलाना मेरे पास नियमित रूप से अभिव्यक्तियों की एक सूची है जो मैं अपनी सी कोड फ़ाइलों पर चलाना चाहता हूं। वे सरल स्वरूपण सामग्री हैं और मेरे कोड की समीक्षा होने पर मुझे परेशानी बचाएगी।VI

यहाँ वे

यह एक एकल रिक्त पंक्ति में 2 या अधिक रिक्त लाइनों को हटा

:%s/\n\{3,}/\r\r/e 

इस स्थान लापता जोड़ने टिप्पणी जैसे/*, ऐसा * के अंत में/कर रहे हैं करने के लिए/* blah blah */

:%s/\([^ *]\)\*\//\1 \*\//gc 

इस टिप्पणी जैसे/, ऐसा/करने के लिए/*, ऐसा */टिप्पणी की शुरुआत है कि यह ध्यान नहीं देता है पर अंतरिक्ष लापता जोड़ने/**

:%s/\/\*\([^ *]\)/\/\* \1/gc 

ब्रेस खोलने के बाद रिक्त लाइनों को हटा अगर लापता TODO फेंकता है और

:%s/\n\{2,}\(\s*\)}/\r\1}/gc 
टिप्पणी में

अल्पविराम के बाद एक जगह कहते हैं {

:%s/{\s*$\n\{2,}/{\r/gc 

ब्रेस बंद करने से पहले रिक्त लाइनों को हटा} त्रुटि E16 यदि कोई पैटर्न

:g/\/\*/ ,/\*\// s/,\([^ ]\)/, \1/gc 

मैंने इन्हें fix.txt नामक फ़ाइल में सहेजा है। क्या कोई तरीका है कि मैं उन्हें दूसरे के बाद छठी के भीतर से चला सकता हूं? कुछ

:run fix.txt ? 

उत्तर

6

की तरह आप पर अमल करने के लिए है:

:source fix.txt

:help :source देखें।

0
" put this function in your vimrc file and call them with <leader>f 
" to more information read :help leader 
" also read :help keepjumps 
fun! FixSourceCode() 
    :%s/\n\{3,}/\r\r/e 
    :%s/\([^ *]\)\*\//\1 \*\//gc 
    :%s/\/\*\([^ *]\)/\/\* \1/gc 
    :%s/{\s*$\n\{2,}/{\r/gc 
    :%s/\n\{2,}\(\s*\)}/\r\1}/gc 
    :g/\/\*/ ,/\*\// s/,\([^ ]\)/, \1/gc 
Endfun 
nmap <silent> <leader>f :keepjumps call FixSourceCode()<cr> 
+0

आपको 'nnoremap' का उपयोग करना चाहिए। – ZyX

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