जवाबों:
आप की परिभाषा देख रहे हैं undo-blocks
।
से :h undo-blocks
:
एक पूर्ववत आदेश आम तौर पर एक टाइप की गई कमांड को पूर्ववत् करता है, चाहे वह कितने भी बदलाव करता हो। पूर्व-सक्षम परिवर्तनों का यह क्रम पूर्ववत ब्लॉक बनाता है। इस प्रकार यदि टाइप की हुई (s) फ़ंक्शन को कॉल करती है, तो फ़ंक्शन के सभी कमांड एक साथ पूर्ववत हैं।
उसी ब्लॉक का उपयोग किया जाता है redo
। से :h redo
:
अंतिम बदलावों को याद किया जाता है। आप प्रत्येक परिवर्तन से पहले पाठ को वापस करने के लिए ऊपर दिए गए पूर्ववत और फिर से करें आदेशों का उपयोग कर सकते हैं। आप पूर्ववत किए गए पाठ को वापस प्राप्त करते हुए, फिर से परिवर्तन भी लागू कर सकते हैं।
विम के मोडल संपादन अक्सर एक के रूप में देखा जाता है ऑपरेटर (उदाहरण के लिए c
, d
...) एक पर लागू गति (जैसे iw
, w
, }
, ...)। एक अद्भुत उत्पाद के रूप में विम चंकी पूर्ववत हो जाता है। जहां अन्य संपादकों को पूर्ववत ब्लॉक में कई छोटे पूर्ववत बनाने के लिए कुछ अनुमान लगाना पड़ता है, विम स्वाभाविक रूप से ऐसा करता है। एक अन्य पक्ष प्रभाव यह है कि आप एक दोहराने ऑपरेटर, .
(उर्फ डॉट कमांड) देता है।
आपके प्रश्न में कीस्ट्रोक्स का विशेष रूप से उल्लेख है, इसलिए मुझे लगता है कि आप यह जानना चाहते हैं कि आवेषण मोड में छोटे परिवर्तनों को कैसे पूर्ववत करें। जवाब यह नहीं है "विम रास्ता"। "द वीम वे" का अर्थ है कि आप एक बार में शॉर्ट-बर्स्ट के लिए इन्सर्ट मोड में होंगे। इसका मतलब यह है कि जब गलत तरीके इन्सर्ट मोड में होते हैं तो आप अक्सर सामान्य मोड से बाहर निकलते हैं और टेक्स्ट को ठीक करते हैं या u
फिर एक पूर्ववत करते हैं , और टेक्स्ट को फिर से लिखते हैं।
कभी-कभी इन्सर्ट मोड में रहते हुए एक पूर्व ब्लॉक को विभाजित करने की आवश्यकता होती है। इसे <c-g>u
इन्सर्ट मोड में रहते हुए पूरा किया जा सकता है। देखें :h :undoj
और :h undo-blocks
अधिक जानकारी के लिए।
अधिक मदद के लिए मैं निम्नलिखित सुझाव देता हूं:
:h undo-blocks
:h :undoj
:h undo-tree
:h persistent-undo
:h undo.txt
इस विषय पर कुछ पेंच भी हैं:
आप इसे इस तरह भी सोच सकते हैं: हर बार जब आप पाठ को संपादित करने के लिए मोड डालने के लिए जाते हैं और आप हिट करते हैं Esc, तो यह ब्लॉक बन जाएगा। यदि आप उस ब्लॉक को पूर्ववत् करने का प्रयास करते हैं, तो आप सम्मिलित मोड में आने से पहले उसी स्थिति में जाएंगे।
इसलिए आप समय-समय पर इन्सर्ट मोड से बाहर निकल कर अपने बदलावों को "सेव" कर सकते हैं: मान लीजिए कि आप इन्सर्ट मोड में जाते हैं और फंक्शन लिखते हैं। आप कोडिंग जारी रख सकते हैं और अगले समारोह में जा सकते हैं लेकिन कभी-कभी सामान्य मोड में वापस जाना और फिर से मोड डालने के लिए स्विच करना बेहतर होता है। इस तरह, आप अपने कोड को एक सरल तरीके से संरचित कर सकते हैं और यदि आपको वापस जाने की आवश्यकता है तो आप जान सकते हैं कि आप किस स्थिति में समाप्त होंगे।
ध्यान दें: यदि आप तीर को हिलाने के लिए उपयोग करते हैं, तो ऐसा लगता है जैसे आपने दबाया है Esc[[ hjkl]
CTRL-G u
सम्मिलित मोड में कमांड के साथ मैन्युअल रूप से एकल पूर्व-खंड को भी तोड़ सकते हैं , जो आपके पास कुछ सम्मिलित मोड मैक्रोज़ होने पर उपयोगी है।