मेरे पास प्रविष्टियों के साथ एक सादा पाठ फ़ाइल है
firstAuthorLastName_titleFirstWord_YYYY
कि मैं बदल जाता हूँ
firstAuthorLastNameYYYYtitleFirstWord
s//
विम में निम्नलिखित कमांड के साथ । ^ [1]
%s/\([a-z]\+\)_\([a-z]\+\)_\([0-9]\{4}\)/\1\3\2/g
लेकिन मैं इस कमांड को बार-बार करना चाहता हूं। ऐसा लगता है कि मुझे विंडोज बैच स्क्रिप्ट और -c
फ्लैग टू के साथ ऐसा करने में सक्षम होना चाहिए gvim.exe
। लेकिन मैं इसे काम नहीं कर सकता।
मेरे पास निम्न के साथ एक Windows बैच स्क्रिप्ट है।
gvim -c "%s/\([a-z]\+\)_\([a-z]\+\)_\([0-9]\{4}\)/\1\3\2/g" herron.bib
लेकिन मुझे संदेश मिलता है E486: Pattern not found: \([a-z]\+\)_\([a-z]\+\)_\([0-9]\{4}\)
। क्या इस s//
कमांड को पुनः उपयोग / स्वचालित करने का कोई तरीका है ? मुझे पता है कि मैं अपने पूर्व कमांड इतिहास के माध्यम से तीर चला सकता हूं, लेकिन मैं कुछ अधिक स्थायी और विश्वसनीय चाहूंगा।
[^ 1] FWIW, यह एक BibTeX .bib फ़ाइल है जिसे मैं Zotero से निर्यात करता हूं । इसके अलावा नीचे मैं मार्क में नोट्स लिखने के लिए vim-pandoc का उपयोग करता हूं । अंडरस्कोर यह vim-pandoc "tidy" फ़ंक्शन का उपयोग करने के लिए थोड़ा अधिक कठिन बनाता है, इसलिए मैं उन्हें हटा देता हूं। मैं एक सप्ताह में कई बार .bib को अपडेट करता हूं और इसे Zotero से फिर से निर्यात करता हूं, इसलिए मुझे इस regex को सप्ताह में कई बार चलाने की भी आवश्यकता है।
command!
चाल चली! पूरी तरह से सबक के लिए धन्यवाद और मैं इन सभी की जांच करूंगा। लेकिन आप सही कह रहे हैं, "आसान याद" यह कहने का सबसे अच्छा तरीका है। धन्यवाद!