मेरे पास उपयोगकर्ता डिफॉल्ट के एक समूह के साथ एक फ़ाइल है। मैं कुछ पाठ को बदलना चाहता हूं, लेकिन मैं एक मिलानकर्ता और प्रतिकृति के साथ आने में संघर्ष कर रहा हूं। निम्नलिखित उदाहरण का उपयोग करना:
###############################################################################
# Trackpad, mouse, keyboard, Bluetooth accessories, and input #
###############################################################################
# Trackpad: enable tap to click for this user and for the login screen
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true
मैं के # Trackpad: ...
साथ बदलना चाहते हैंrunning "Trackpad: ..."
समस्या को तोड़ते हुए, मैं एक regex परीक्षक का उपयोग करके कुछ लेकर आया:
/\n\n#\s(.*)/g
अगर मैं कोशिश करता हूं और विम में इसका उपयोग करता हूं तो यह मेरे लिए काम नहीं करता है:
:/\n\n#\s(.*)/running "\1"/g
मुझे लगता है कि मेरी समस्या दो विशिष्ट प्रश्नों से उबल रही है:
- मैं
\n
पात्रों की खोज करने से कैसे बच सकता हूं , और इसके बजाय यह सुनिश्चित करें#
कि खोज समूह के अंत में दिखाई न दे? - मैं प्रभावी रूप से कैप्चर समूहों का उपयोग कैसे कर सकता हूं?
नीचे कुछ बेहतरीन जवाब दिए गए हैं। तीनों में से चुनना मुश्किल है, हालांकि मुझे लगता है कि चुना गया उत्तर मेरे मूल कल्पना के लिए सबसे सटीक है। मेरा सुझाव है कि आप वास्तविक फ़ाइल के साथ सभी तीन उत्तरों को देखने की कोशिश करें कि आप उनके बारे में कैसा महसूस करते हैं।
:%s/\v\n\n#\s+(.*)/^M^Mrunning "\1"/
("जादू" ध्वज जोड़ा है)। मेरे मूल प्रश्न का सही उत्तर चुनना वास्तव में कठिन है, लेकिन मुझे लगता है कि यह उत्तर मेरे मूल अपेक्षित उत्तर के सबसे निकट है। यह भी केवल एक ही है जो किसी सीमा का चयन करने की आवश्यकता के बिना पूरी फ़ाइल में काम करता है।