जवाबों:
चूंकि vim वर्तमान बफर को संदर्भित करने के लिए प्रतिशत चिह्न का उपयोग करता है, आप इसका उपयोग सब कुछ जल्दी से प्राप्त करने के लिए कर सकते हैं।
:%y
पूरे बफर
:%y+
को +
रजिस्टर में जमा कर देगा (और संभवत: क्लिपबोर्ड, बशर्ते कि उचित विकल्पों के साथ संकलित किया गया हो)।
:%d
और :%d+
विलोपन के लिए भी यही करेंगे।
इनमें से प्रत्येक मामले में, कर्सर जगह पर रहता है।
C-o
दो बार वापस जाने के लिए उपयोग कर सकते हैं।
एक अन्य उपाय है कि विम-टेक्स्टोबज-संपूर्ण नामक प्लगइन का उपयोग किया जाए । डिफ़ॉल्ट रूप से, यह प्लगइन ae
संपूर्ण बफ़र के लिए टेक्स्ट ऑब्जेक्ट प्रदान करता है , ie
खाली लाइनों को छोड़कर और पीछे ले जाने वाले पूरे बफ़र के लिए।
यह प्लगइन उसी लेखक द्वारा vim-textobj- उपयोगकर्ता पर निर्भर करता है , जो उपयोगकर्ताओं को किसी भी टेक्स्ट ऑब्जेक्ट को आराम से परिभाषित करने देता है। ऐसे कई प्लगइन्स हैं जो इसका अच्छा उपयोग करते हैं।
डिफ़ॉल्ट रूप से पूरी फ़ाइल के लिए कोई पाठ ऑब्जेक्ट नहीं है, लेकिन उनका उपयोग करके बनाना संभव है omap
। इस मामले में, यह कुछ इस तरह दिखेगा:
onoremap f :<c-u>normal! mzggVG<cr>`z
यहां बताया गया है कि यह कैसे काम करता है:
onoremap f " make 'f' the text object name
:<c-u> " use <c-u> to prevent vim from inserting visual selection marker at the beginning of the command automatically.
normal! " use normal to make key presses ignoring any user mappings
mzggVG<cr>`z " make a marker in register z, select the entire file in visual line mode and enter the normal command, and go back to the z marker
टिप्पणियाँ:
Ctrluकर्सर स्थिति के बाईं ओर सब कुछ हटाने के लिए कमांड लाइन मोड में उपयोग किया जा सकता है। ऐसा करने का कारण यह है क्योंकि यदि आप कमांड मोड को सीधे दृश्य मोड से दर्ज करते हैं, तो यह स्वचालित रूप '<,'>
से कमांड लाइन पर सम्मिलित हो जाएगा , और यही वह नहीं है जो हम चाहते हैं। मैं यह भी सुझाव दूंगा कि आप इसके अलावा कुछ और का उपयोग करें f
, क्योंकि f
आम तौर पर लाइन पर अगले खोजे गए चरित्र पर जाने के लिए उपयोग किया जाता है। उदाहरण के लिए, वर्तमान लाइन पर fi
अगले i
पर जाएंगे ।
प्रासंगिक सहायता विषय:
:help omap-info
:help :normal
:help c_CTRL-U
:help v_:
``
अंत में एक जोड़ने पर कर्सर पिछले स्थान पर वापस आ जाएगा।
यहां कार्य को पूरा करने के लिए कुछ त्वरित n 'गंदे मैपिंग हैं:
nnoremap yY :%yank <c-r>=v:register<cr><cr>
nnoremap dD :%delete <c-r>=v:register<cr><cr>
अब आप क्रमशः उपयोग कर सकते हैं yY
और dD
yank / delete कर सकते हैं। यह पूर्ण विकसित पाठ ऑब्जेक्ट का उपयोग करने के रूप में अच्छा नहीं है, लेकिन कभी-कभी सबसे सरल समाधान सर्वोत्तम होते हैं।
अधिक मदद के लिए देखें:
:h :y
:h :d
:h [range]
:h v:register
:h c_ctrl-r
:h @=
mmgg"+yG`m
और इस बारे में कभी नहीं सोचा था। धन्यवाद, यह .vimrc में सही जा रहा है।