दिया जवाब के साथ साथ कुछ गलत नहीं है, लेकिन आप यह कर सकते हैं:
:%s/$data\['\zsuser\ze']/sessionUser/g
\zs
और \ze
मैच कि प्रतिस्थापन से प्रभावित होता है का हिस्सा परिसीमित करने के लिए इस्तेमाल किया जा सकता। आपको $
से बचने की आवश्यकता नहीं है क्योंकि यह पैटर्न की शुरुआत में है और यहां एक ईओएल से मेल नहीं खा सकता है। और आपको ]
से बचने की आवश्यकता नहीं है क्योंकि इसकी मिलान [
से मेल नहीं खाती है। हालांकि अगर आप सभी नियमों को याद नहीं कर सकते हैं तो इन पात्रों से बचने में निश्चित रूप से कोई नुकसान नहीं है। देखें: पूर्ण विवरण के लिए pattern.txt मदद करें, लेकिन इसे एक ही बार में पचाने की कोशिश न करें!
आप कल्पना प्राप्त करना चाहते हैं, तो आप कर सकते हैं:
:%s/$data\['\zsuser\ze']/session\u&/g
&
पूरे मिलान वाला पाठ (\zs
और \ze
वर्तमान अगर द्वारा सीमांकित) को संदर्भित करता है, तो यह इस मामले में 'उपयोगकर्ता' बन जाता है। \u
जब प्रतिस्थापन स्ट्रिंग में उपयोग किया जाता है तो अगला वर्ण ऊपरी-केस बनाता है। आशा है कि ये आपकी मदद करेगा।
आपको प्रतिस्थापन भाग में भागने की आवश्यकता नहीं है। –
हाँ, यह काम किया। धन्यवाद! – Falassion