सवाल आप दृश्य मोड चयन का पुन: उपयोग कैसे करते हैं?


अक्सर कोड संपादित करते समय, मैं दृश्य मोड में एक ब्लॉक का चयन करूंगा और एक खोज करूँगा और ब्लॉक पर प्रतिस्थापित करूंगा। परिवर्तन करने के बाद, हालांकि, यह दृश्य मोड छोड़ देता है। आप एक ही चयन पर एक नया खोज कैसे करते हैं और प्रतिस्थापित करते हैं?


151
2017-12-10 16:58


मूल


खैर मुझे एक रास्ता मिला, लेकिन यह थोड़ा बोझिल है:: '<,'> s / old / new / g 'w' o को टाइप करने के लिए कोई तरीका है '<,'>? - labyrinth


जवाब:


आप अंतिम चयनित दृश्य क्षेत्र को फिर से चुन सकते हैं gv


217
2017-12-10 23:59



बहुत बढ़िया! @Heptite अपने आप से यह आदेश कैसे प्राप्त करें w \ o Stackoverflow? - skywinder
@skywinder: मदद जीवी - Heptite
@ हेप्टाइट: मुझे यकीन नहीं है कि क्या आप यहां गाल में जीभ हैं, लेकिन वह आदेश आपको दिखाता है कि: जीवी एक बार जब आप इसके बारे में जानते हैं। लेकिन अगर मैं नहीं था? एक (wo) आदमी को मछली और सब कुछ सिखाओ। - Ben Thul
@ बेनहुल: मुझे लगता है कि मैंने इस सवाल को गलत समझा। मैं समय के साथ प्रलेखन के बड़े पैमाने पर पढ़ने के द्वारा विम की विशेषताओं के बारे में बहुत कुछ जानता हूं, ":help"। - Heptite
:help select-visual आपको vim @skywinder के अंदर सही मैनुअल में ले जाना चाहिए। - nwildner


gv निश्चित रूप से सबसे तेज़ तरीका है (अंतिम चयन का उपयोग करें), लेकिन यदि आप स्थिर सहेजे गए चयन क्षेत्र (या कई) चाहते हैं, तो आप हमेशा मैक्रोज़ बना सकते हैं।

आइए कहें कि मैं अपनी वर्तमान विधि का चयन करना चाहता हूं, जो 25-35 लाइनों से है। मैं एक मैक्रो बना सकता हूं जो टाइप करके पूरी विधि का चयन करता है

q    //start recording
a    //use register a
25G  //Go to line 25
V    //visual-line mode
35G  //Go to line 35
q    // stop recording

फिर मैं उस चयन को टाइप करके वापस प्राप्त कर सकता हूं @a (रजिस्टर में मैक्रो चलाएं ए)। अपनी इच्छानुसार किसी भी रजिस्टर, लाइन या लाइनों के अनुभागों के साथ दोहराएं। जाहिर है अगर आप फ़ाइल में बदलाव करते हैं तो चयन भी बदल सकता है, इसलिए आप "हार्डकोडिंग" लाइन नंबरों के बजाय अंक का उपयोग करने पर विचार करना चाहेंगे।


13
2018-03-14 13:26



zmto दर्ज करें कि आपको लाइन नंबरों को जानने की आवश्यकता है। मुझे लगता है कि यह दो अंकों को परिभाषित करने के लिए बेहतर है और फिर उपयोग करें: 'ए,' बी उनके बीच की सीमा पर काम करने के लिए (या 'लाइन के भीतर ग्रैन्युलरिटी चाहते हैं तो बैकटिक्स के साथ प्रतिस्थापित करें) - sillyMunky
हाँ, रेखा संख्या चीज गूंगा थी - मैंने इसे सिर्फ चयन मैक्रो बनाने के लिए एक उदाहरण के रूप में उपयोग किया था। अंक की एक श्रृंखला का उपयोग करना एक दिलचस्प विचार है हालांकि ... - AlexMA


gv अंतिम चयन को पुनर्प्राप्त करने के लिए बहुत अच्छा काम करता है। लेकिन कभी-कभी थोड़ा और चाहिए।

यदि आपको कभी भी अधिक लगातार रिकॉर्ड की आवश्यकता है, तो एक नज़र डालें यह प्लगइन हम वर्तमान में गिटहब पर काम कर रहे हैं।

VisualMarks आपको दृश्यमान रूप से चयनित क्षेत्रों को सहेजने और पुनर्स्थापित करने की अनुमति देता है जैसे कि आप अपनी फ़ाइलों में विशिष्ट स्थानों को सहेजते और चिह्नित करते हैं m। स्थापित करने के बाद, और डिफ़ॉल्ट विकल्पों के साथ, उपयोग करें:

ma

अपने वर्तमान चयन को चिह्नित करने के लिए दृश्य मोड में a, फिर

<a

इस चयन पर वापस जाने के लिए सामान्य मोड में।


6
2017-10-18 17:39



वाह, यह वास्तव में अच्छा लगता है। मुझे उस प्लगइन को आज़मा देना होगा! वैसे, क्या ये VisualMarks mkview के साथ जारी रह सकते हैं जैसे आप अंक के साथ कर सकते हैं? - labyrinth
@ भूलभुलैया मुझे नहीं पता mkview लेकिन मुझे लगता है हाँ चूंकि अंकों को एक अलग फ़ाइल में सहेजा जाता है और .. मेरा सुझाव है कि आप वैसे भी कोशिश करें :) यदि वे आपकी इच्छानुसार बने रहें, तो हम आपके फीचर अनुरोध को प्राप्त करने में प्रसन्न होंगे GitHub और कोशिश करें 'इसे संसाधित करें। - iago-lito


मान लीजिए कि मैं अलविदा के साथ अलविदा को प्रतिस्थापित करना चाहता था और नीचे दिया गया कोड चुना गया था:

public static void main(String[] args){
    System.out.println("Goodbye World");
}

मैं टाइप करूंगा :s/Goodbye/Hello/ और vim के सभी उदाहरणों को प्रतिस्थापित करेगा Goodbye साथ में Hello

यह केवल विम के नियमित अभिव्यक्तियों और दृश्य मोड चयन का संयोजन है। जब आप चुनते हैं, तो इसे ऑटोफिल करना चाहिए '<,'>


0
2017-12-10 17:20



क्षमा करें, यही वह नहीं है जो मैं पूछ रहा था। मैं जो पूछ रहा हूं वह यह है कि आप चयन को फिर से चुनने के लिए कैसे चुनते हैं और उसी श्रेणी पर प्रतिस्थापित करते हैं जैसा पहले चुना गया था? - labyrinth
बदलने के बाद, आप दृश्य मोड से बाहर हो जाएंगे। में टाइप करें gv और आपका विजुअल मोड पिछले चयन स्थिति पर वापस आ जाएगा। - Scott Nguyen