मैं विम का उपयोग करके कुछ स्रोत कोड को सुशोभित करने की प्रक्रिया में हूं। {1}
मैंने vim macros की एक जोड़ी बनाई है जो अलग-अलग चरणों को करती है: ट्रेलिंग व्हिपस्पेस को हटाकर, खाली लाइनों को {
हटाने के बाद , खाली लाइनों को हटाने से पहले {
, उस तरह का सामान।
अब, मैं एक मैक्रो बनाना चाहता हूं जो सभी व्यक्तिगत मैक्रोज़ को अनुक्रम में निष्पादित करता है। हालांकि, एक बार पहली बार पुनरावर्ती मैक्रो समाप्त हो जाता है (क्योंकि यह अब कोई मैच नहीं मिल सकता है -> मिलान त्रुटि), मेरे "रैपर" मैक्रो की समाप्ति भी।
वहाँ एक रास्ता बनाने के लिए एक vim मैक्रो जारी रखने के बाद एक submacro एक त्रुटि उत्पन्न होती है?
{1} मैं स्वचालित सुधारकों के बारे में जानता हूं । मैं अपनी वर्तमान समस्या पर उनका उपयोग भी कर सकता हूं। मैंने केवल उदाहरण के लिए स्रोत में सुधार का उल्लेख किया है। इस स्रोत ब्यूटिफायर या उस बारे में कोई उत्तर न दें । यह प्रश्न प्रति सत्र कोड सुधार के बारे में नहीं है , बल्कि विम मैक्रोज़ के बारे में है।
उदाहरण:
- मैक्रो 1 - ट्रिमिंग ट्रेलिंग व्हाट्सएप -
qw/\s\+$d$@wq
- मैक्रो 2 -} से पहले खाली लाइनों को हटाना
qe/\n\n *}dd@eq
- रैपर मैक्रो - रीटैबिंग, मैक्रो 1, मैक्रो 2 -
qr:retab@w@eq
जब मैं आवरण को निष्पादित करता हूं - @r
- यह फिर से शुरू हो जाएगा, तब मैक्रो 1 को निष्पादित करें जब तक कि अधिक पीछे वाले व्हाट्सएप नहीं मिलते हैं, तब समाप्त करें ( मैक्रो 2 को निष्पादित किए बिना )।
स्पष्टीकरण:
मैं क्या देख रहा हूँ कि एक सबमैक्रो को कैसे कॉल किया जाए ताकि जब सबमैक्रो समाप्त हो जाए, तो कॉलिंग मैक्रो जारी रहे?