मैं LearnVimscriptTHW
से विस्क्रिप्ट को सीखने की कोशिश कर रहा हूं और मैं :execute and :normal
के उपयोग में आया हूं।क्यों: निष्पादन विम में अपेक्षित काम नहीं कर रहा है: LearnVimscriptTheHardWay
:normal! gg/a<cr>
पुस्तक से: समस्या यह है कि normal!
<cr>
की तरह "विशेष वर्ण" को नहीं पहचानता है। इसके आस-पास कई तरीके हैं, लेकिन उपयोग करने और पढ़ने के लिए सबसे आसान execute
है।
अब जब मैं :execute "normal! gg/a<cr>"
का उपयोग करता हूं तो यह मेरे लिए काम नहीं करता है। यह मेरी वर्तमान फ़ाइल में a(char)
की खोज नहीं करता है, इसके बजाय यह gg
निष्पादित करता है और :execute "normal! gg/a\r"
का उपयोग करने के अलावा कुछ भी नहीं करता है, यह काम करता है और मेरी फ़ाइल में char a
सफलतापूर्वक हाइलाइट करता है।
मैंने निम्न तरीकों से भी कोशिश की लेकिन उनमें से कोई भी काम नहीं किया।
:execute "normal! gg/a"<cr>
:execute normal! gg/a<cr>
:execute "normal! gg/a<cr>"<cr>
किताब से
ऐसा लगता है कि execute
आंतरिक रूप से धर्मान्तरित <cr> to \r
। तो, यह मेरे मामले में क्यों नहीं हो रहा है।
ठीक है यह काम करता है लेकिन मैं इस भ्रम में था कि 'निष्पादित' एसपी से बचने सहित सबकुछ संभालेगा। chars'। तो, क्या कोई भी विम फ़ंक्शन है जिसमें मैं अपना उपरोक्त आदेश लपेट सकता हूं ताकि वह उन वर्णों को संभाल सके जो स्वचालित रूप से बचने की आवश्यकता है। 'Exe' मानक की तरह कुछ! Escapefunc (iHello \ विश्व) ' –
RanRag
ठीक है, 'मानदंड' का उपयोग करते समय आपको विशेष पात्रों से बचना होगा क्योंकि अन्यथा vim नहीं जानता है कि आप' 'टाइप करना चाहते हैं या ' \ r'। 'मानक 'के बाहर यह स्वचालित रूप से काम करता है। –
Conner
हां,' बचें (" iHello \ विश्व ") का उपयोग करें या मेरे उत्तर में शाब्दिक नोटेशन का उपयोग करने की आदत में जाएं। –
romainl