मैं लाइनों के समूह के अंत में पाठ कैसे सम्मिलित कर सकता हूं?


18

मान लीजिए कि मेरे पास पाठ का एक ब्लॉक था ...

Lorem ipsum
Lorem ipsum dolor
Lorem ipsum dolor sit
Lorem ipsum dolor sit amet

... और मैं .प्रत्येक पंक्ति के अंत में सम्मिलित करना चाहता था। इसे प्राप्त करने के लिए सबसे अच्छा तरीका क्या होगा?

जवाबों:


14

मैं पाठ को कई लाइनों में जोड़ने के लिए निम्नलिखित करता हूं:

  • <c-V> - विजुअल ब्लॉक मोड दर्ज करें।
  • लाइनों का चयन करने के लिए j/ kका उपयोग करें ।
  • $ - कर्सर को अंतिम वर्ण में ले जाएं।
  • A - लास्ट कैरेक्टर के बाद इन्सर्ट मोड डालें।
  • इच्छित पाठ डालें।
  • <Esc> - इन्सर्ट इन्सर्ट मोड और फिनिश ब्लॉक अपेंड।

जब :normचयन के बाद लिखने की तुलना में कम महत्वपूर्ण प्रेस होते हैं, लेकिन मैं इसका उपयोग करने का वास्तविक कारण है क्योंकि इस प्रकार के परिवर्तनों के लिए विजुअल ब्लॉक मोड पर काम करना मेरे लिए अधिक सहज है।



8

पहली पंक्ति में सिर्फ टाइप करें: 4:norm A.

4और आप के :लिए एक सीमा बनाएँ और फिर norm A.प्रत्येक पंक्ति में डॉट जोड़ता है

अब पैराग्राफ के लिए एक और समाधान हो सकता है: Vip<C-v>$A.<Esc>

पहला चरण पैराग्राफ का चयन करना है और Vipउसके बाद आप विजुअल ब्लॉक मोड में बदल जाते हैं और कर्सर को प्रत्येक लाइन के अंत में ले जाते हैं और $फिर आप .प्रत्येक लाइन में जोड़ते हैं A.और सामान्य मोड में आ <Esc>जाते हैं, यह देखने के लिए कि प्रत्येक लाइन पर लागू किया जाए। ।


यह :Aआज्ञा क्या है ? मुझे यह पता नहीं चला:h :A
पीटर रिनकर

मेरी गलती। वास्तव में जवाब का परीक्षण नहीं किया। मैं इसे अपडेट कर रहा हूं। इसे सामान्य कमांड का उपयोग करना चाहिए जैसे @Kritii Lhitos उत्तर
rbernabe

इससे कम दो पात्र 4:norm A.होंगे4:s/$/.
फिलिप्पुस

3

पहले आप नेत्रहीन उनका उपयोग करके चयन कर सकते हैं Vऔर फिर संपूर्ण पाठ का चयन करने के लिए आंदोलन कुंजियों का उपयोग कर सकते हैं (या यदि पाठ कड़ाई से एक पैराग्राफ था जिसे आप [पहली पंक्ति में शुरू कर सकते हैं] V})। और फिर टाइप करें :। यह :'<,'>कमांड-लाइन में कुछ लाना चाहिए ।

:'<'>normal A.

यह normal A.चयनित लाइनों पर निष्पादित होता है। सामान्य मोड कीस्ट्रोक्स के रूप में normal A.निष्पादित करता है A.। यह प्रत्येक चयनित लाइनों के अंत में Appends .


3

यदि आप सभी लाइनों के अंत में डॉट जोड़ना चाहते हैं:

:%norm A.

या आप खोज और प्रतिस्थापन का उपयोग कर सकते हैं:

:%s/$/./

% पूरी फाइल है, $ लाइन का अंत है


चूँकि @ vim.ryan ने पूरी फाइल के बजाय टेक्स्ट को ब्लॉक करने के लिए कहा था, :1,4s/$/./ जो चार समावेशी के माध्यम से लाइनों पर एक डॉट के साथ अंतिम वर्ण को प्रतिस्थापित करता है।
rjt

1

इसे थोड़ा और सामान्य बनाने के लिए, आप एक मैक्रो को एक लाइन पर रिकॉर्ड कर सकते हैं, और फिर इसे अपनी नेत्रहीन चयनित सीमा में प्रत्येक पंक्ति पर वापस खेल सकते हैं।

मैक्रो को एक रजिस्टर में दर्ज करें (इस उदाहरण में q रजिस्टर):

qqA.<Esc>q

इसके बाद आप उन लाइनों का चयन कर सकते हैं जिन्हें आप ऑपरेट करना चाहते हैं:

Vip

और फिर प्रत्येक लाइन पर अपना मैक्रो वापस चलाएं (रेंज ऑटो-भरा जाएगा):

:'<,'>norm @q
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.