विम का प्रभावी उपयोग

परिचय


मुझे वास्तव में विम संपादक पसंद है, मैं इसे चार साल से अधिक समय से अपने काम में (कोड लिखने के लिए) उपयोग कर रहा हूं और मैं इसका उपयोग करने में अपना अनुभव साझा करना चाहता हूं।

यह लेख "मैजिक कमांड्स" और रेसिपीज़ (एक कुकबुक, जैसा कि इस तरह के सेट्स को अंग्रेज़ी में कहा जाता है) का एक सेट नहीं है, हालाँकि वे यहाँ भी मौजूद हैं, लेकिन यह वर्णन करने का प्रयास है कि एर्गोनोमिक इंटरफेस के निर्माण के सामान्य सिद्धांतों को विम के उपयोग के अभ्यास में कैसे लागू किया जा सकता है। ग्रंथों के साथ काम करने के लिए इसे सुविधाजनक और प्रभावी वातावरण बनाना।

यह लेख नौसिखिए विम उपयोगकर्ताओं के लिए एक ट्यूटोरियल भी नहीं है, हालांकि वे (साथ ही साथ एमएसीएस उपयोगकर्ता) रुचि ले सकते हैं, क्योंकि उल्लेख किए गए कुछ सिद्धांत काफी सामान्य हैं और न केवल पाठ संपादन प्रणालियों पर लागू होते हैं, लेकिन आम तौर पर हम जहां भी बात करते हैं। किसी भी चीज़ को संपादित करने के लिए कंप्यूटर का उपयोग करना। फिर भी, मुझे लगता है कि पाठक विम (मोड, रजिस्टर, बफ़र, कमांड) में इस्तेमाल की जाने वाली मूल अवधारणाओं से परिचित है और उनके विस्तृत विवरण पर ध्यान नहीं देता है।

डिफ़ॉल्ट रूप से, विम को बहुत पुराने ढंग से कॉन्फ़िगर किया गया है, और यह सेटिंग का अर्थ है कि जब पाठ के साथ काम करते हैं, तो उपयोगकर्ता पचास साल पहले के रूपकों में सोचेंगे, जैसे कि यूनिक्स का युग अब है। हालांकि, विम डिजाइन आपको कई सेटिंग्स बनाने की अनुमति देता है, जिसके बाद सिस्टम बहुत सभ्य दिखाई देगा और बहुत कुशलता से काम करेगा, दोनों प्राचीन यूनिक्स पाठ उपकरण और आधुनिक WYSIWIG प्रोसेसर की उपयोगी विशेषताओं को जोड़ते हुए, जहां तक ​​संभव हो, उनकी अंतर्निहित। कमियों। इन सेटिंग्स और उनके उपयोग के तरीकों पर चर्चा की जाएगी।

मॉडल के अनुसार सामग्री के साथ काम करें "संज्ञा - क्रिया"

जेफ रस्किन, अपने क्लासिक काम "इंटरफ़ेस: कंप्यूटर सिस्टम के डिजाइन में नई दिशाओं" में इंटरफेस के एर्गोनॉमिक्स के क्षेत्र में एक प्रसिद्ध प्राधिकरण, सामग्री के साथ काम करने के दो मॉडलों का उल्लेख करते हैं - "क्रिया - संज्ञा", जब पहली बार कार्रवाई की जाती है, और फिर जिस सामग्री का चयन किया जाता है। आपको आवेदन करने की आवश्यकता है, और "संज्ञा - क्रिया", जब पहली बार सामग्री का चयन किया जाता है, और फिर उस पर कुछ ऑपरेशन लागू किया जाता है। ज्यादातर मामलों में, यह संज्ञा-क्रिया मॉडल है जिसे पसंद किया जाता है। इस मामले में, यह निश्चित रूप से मामला है। मैं यह जोड़ूंगा कि जिन कुछ ट्रिक्स पर चर्चा की गई है, वे मेरे द्वारा रस्किन से स्वतंत्र रूप से एक ऐसे समय में आविष्कार किए गए थे जब मुझे अभी भी उनकी पुस्तक के अस्तित्व के बारे में नहीं पता था, परीक्षण और त्रुटि के माध्यम से - मैंने चीजों को करने के विभिन्न तरीकों की कोशिश की, और थोड़ी देर के बाद मैंने गठन किया क्या सुविधाजनक है और क्या नहीं, इसका अंदाजा।

इस स्थिति में, सामग्री जिस पर संचालन किया जाता है वह संपादन योग्य पाठ है। क्रमशः हाइलाइट की गई सामग्री, आमतौर पर हाइलाइट किया गया पाठ है।

हालांकि, विम में, हाइलाइट की गई सामग्री की अवधारणा को कांटा गया है। जैसा कि यह कार्य कर सकता है:

पहला मामला व्यापक रूप से ज्ञात है, और मैं इस पर विस्तार से ध्यान नहीं दूंगा। दृश्य मोड में, पाठ का एक ब्लॉक ग्रे में हाइलाइट किया जाता है, फिर उस पर एक कमांड लागू होता है (उदाहरण के लिए, "अपरकेस पर अनुवाद करें")। अन्य संपादकों की तरह सब कुछ।

हाइलाइटेड - देखा - प्रदर्शन किया गया

दूसरा मामला अधिक दिलचस्प है। "संज्ञा - क्रिया" मॉडल में, यह आपको एक संज्ञा को एक पाठ बनाने की अनुमति देता है जो / रजिस्टर में एक नियमित अभिव्यक्ति से मेल खाता है। उसी समय, जब विकल्प: hlsearch सक्षम होता है, तो यह पाठ पीले रंग में हाइलाइट किया जाता है। यह आपको पाठ के साथ काम करने की एक शैली विकसित करने की अनुमति देता है जिसे "हाइलाइट किया गया - देखा गया - (THIS हटा दिया गया THIS | THIS युक्त पंक्तियों की प्रतिलिपि बनाई गई है जिसे कमांड की आवश्यकता है) की प्रतिलिपि बनाई गई", जहाँ THIS वह पाठ है जो नियमित अभिव्यक्ति / रजिस्टर में मेल खाता है। यह शैली पूरी तरह से नए स्तर की सुविधा देती है जब ऑपरेशन करते हैं जैसे "एक शब्द की सभी घटनाओं को दूसरे के साथ बदलें" इस तथ्य के कारण कि पाठ में प्रतिस्थापित शब्द के सभी घटनाएँ तुरंत दिखाई देती हैं। इस तरह की शैली में संक्रमण के बाद, बड़े पैमाने पर प्रतिस्थापन की पुरानी शैली ("पुरानी शैली" से मेरा लौटना व्यावहारिक रूप से असंभव है। उदाहरण के लिए, सुदूर प्रबंधक पाठ संपादक में "सभी को प्रतिस्थापित करें" कमांड का कार्यान्वयन, जो या तो वास्तव में प्रतिस्थापित करने के जोखिम के साथ सब कुछ बदल देता है) आवश्यक नहीं है, या प्रत्येक प्रतिस्थापन की पुष्टि के लिए पूछता है, काम में अनावश्यक कष्टप्रद झिझक पैदा करता है)। प्रारंभिक दृश्य हाइलाइटिंग का उपयोग करते समय, बड़े पैमाने पर प्रतिस्थापन और समान संचालन करते समय एक त्रुटि बनाने का जोखिम कम से कम होता है।

इसके अलावा, मैं कई सेटिंग्स का वर्णन करूंगा, जब "हाइलाइटेड - लुक - एग्ज़िक्यूटेड" स्टाइल का उपयोग करते हुए, मेरे लिए बहुत सुविधाजनक निकला।

मेरी _vimrc कॉन्फ़िगरेशन फ़ाइल से लाइनें:
" ,
nnoremap * *N
" : Ctrl-F8
nnoremap <C-F8> :nohlsearch<CR>

मुझे समझाते हैं कि वे क्या करते हैं। विम में एक अंतर्निहित * कमांड (एक तारांकन चिह्न है, जिसे सामान्य मोड में Shift + 8 दबाकर) कहा जाता है, जो खोज रजिस्टर में वर्तमान शब्द (जिस पर कर्सर स्थित है) को रखता है, पाठ में इस शब्द की अगली घटना की खोज करता है और कर्सर को इस अगली घटना पर ले जाता है। इसके अलावा, इस शब्द की घटनाओं को हाइलाइट किया गया है (वास्तव में, फिर से, वह पाठ जो खोज रजिस्टर में नियमित अभिव्यक्ति से मेल खाता है, लेकिन इस मामले में व्यवहार में इसका मतलब वर्तमान शब्द की घटनाएँ हैं)। मेरी राय में, यह आदेश गलत तरीके से लागू किया गया है। मैं शब्द की अगली घटना के लिए कूदना गलत मानता हूं, क्योंकि यह छलांग संदर्भ से बाहर है, जिससे स्क्रीन पर पाठ में बदलाव होता है (अगली घटना कहीं भी हो सकती है, और पाठ पूरी तरह से अपरिचित में बदल सकता है)। इसलिए, मैं पहली मैपिंग का उपयोग करता हूं, जो कमांड के शब्दार्थ को * "वर्तमान शब्द को हाइलाइट करने के लिए बदलता है, लेकिन कर्सर की स्थिति को नहीं बदलता"। दूसरी मैपिंग का उपयोग बैकलाइट को रीसेट करने के लिए एक हॉट की को असाइन करने के लिए किया जाता है (एर्गोनोमिक कारणों से, यह 8 कुंजी के करीब होना चाहिए, जिस पर * कमांड स्थित है, चूंकि "हाइलाइट" - "रीसेट बैकलाइट" कमांड का उपयोग अक्सर जोड़े में किया जाता है, उदाहरण के लिए, ऐसे कार्यों के लिए। "वर्तमान में कर्सर के साथ खड़े होने वाले चर की सभी घटनाओं को उजागर करने के लिए कैसे।" स्थानीय कार्य जिसके बाद चर को हाइलाइट किया गया था, के बाद बैकलाइट को रीसेट करना बेहतर होता है ताकि वह आगे के काम से ध्यान न भटकाए। "आकर्षण" और "रीसेट रोशनी" के बीच वास्तविक संचालन समय अंतराल में रिच एक दूसरे को कम किया जा सकता है)। शब्द हाइलाइट होने के बाद, यदि आवश्यक हो, तो आप एन / एन कमांड का उपयोग आगे / पीछे कूदने के लिए कर सकते हैं।
" *
vnoremap * y :execute ":let @/=@\""<CR> :execute "set hlsearch"<CR>

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

विजुअल मोड के साथ "हाइलाइटेड - देखा - प्रदर्शन किया" शैली का उपयोग करना एक बहुत ही सुविधाजनक अभ्यास साबित हुआ। चयन शैलियों के इस तरह के संयोजन का उपयोग "इस फ़ंक्शन में बार को वैरिएबल फ़्यू को नाम बदलने" और जैसी समस्याओं को हल करने के लिए किया जाता है। इस तरह के और समान कार्य कार्यों के अनुक्रम द्वारा हल किए जाते हैं:

वर्ण '<,'>, वर्तमान चयनित ब्लॉक की शुरुआत और अंत का संकेत देता है, और कमांड के आवेदन की सीमा निर्धारित करता है: s, Vim स्वचालित रूप से प्रतिस्थापित करता है जब कोई भी कमांड दृश्य हाइलाइटिंग मोड से जारी किया जाता है। कमांड का पहला तर्क भी छोड़ दिया गया है: s, चूंकि इसे टाइप करने की कोई आवश्यकता नहीं है - जब यह छोड़ा जाता है, तो विम इस तर्क के रूप में वर्तमान खोज रजिस्टर की सामग्री का उपयोग करता है। यह वही है जो पीले रंग में हाइलाइट किया गया है।

इस प्रकार, दृश्यता प्राप्त की जाती है। रजिस्टर की सामग्री / पीले रंग में हाइलाइट की गई है, इसलिए हम देखते हैं कि हम क्या प्रतिस्थापित करेंगे। दृश्य हाइलाइटिंग मोड में चयनित ब्लॉक को ग्रे में हाइलाइट किया गया है, इसलिए हम देखते हैं कि हम इसे कहां बदलेंगे। यह कमांड देने के लिए बना हुआ है: s, जिसमें WHAT को बदलने का संकेत दिया गया है।

एक विशेष उच्चारण विम के पहले से ही वर्णित विशेषता के योग्य है (दुर्भाग्य से, यह तुरंत स्पष्ट नहीं है कि यह उसके पास है, और आप इसके अस्तित्व के बारे में या तो इंटरनेट पर या "प्रहार" विधि) प्रलेखन में इसके विवरण पर ठोकर खाकर पता लगा सकते हैं, जिसमें शामिल हैं पाठ पर बल्क ऑपरेशंस के लिए उपयोग की जाने वाली कमांड्स, जैसे: s (विकल्प, एक पैटर्न को दूसरे के साथ बदलना),: d (डिलीट, लाइनों को हटाने वाला पैटर्न),: g (ग्लोबल, एक पैटर्न वाले लाइनों पर एक मनमाना ऑपरेशन करते हुए ) रजिस्टर की सामग्री का उपयोग करें / उनके रूप में rgumenta, जब वह अपने कॉल द्वारा गिरा दिया। यह बहुत सुविधाजनक है, और आपको तुरंत इस व्यवहार की आदत हो जाती है। दरअसल, यह "फीचर" है जो टेक्स्ट को "हाइलाइटेड - लुक - प्रदर्शन" मोड में संपादित करना संभव बनाता है, जो मानव धारणा की सुविधाओं के साथ इतनी अच्छी तरह से संगत है कि इसका उपयोग हर जगह कंप्यूटर इंटरफेस में किया जाता है - हम फ़ाइल प्रबंधक में फ़ाइलों का चयन करते हैं (वे हाइलाइट किए जाते हैं), हम चयन को देखते हैं, उनके साथ कुछ ऑपरेशन करते हैं। ग्राफिक और अन्य संपादकों में भी यही बात होती है। दरअसल, इस शैली में संपादन करने की आदत पड़ने के कुछ समय बाद, यह स्पष्ट नहीं हो जाता है कि यह अन्यथा कैसे हो सकता है।

मेरे "विम रसोई की किताब" से कुछ व्यंजनों

आगे, मैं विम का उपयोग करने के लिए कुछ कमांड और ट्रिक्स दूंगा, जिसे मैं अपने लिए उपयोगी मानता हूं, लेकिन, सिद्धांत रूप में, उनका उपयोग या गैर-उपयोग पहले से ही स्वाद और व्यक्तिगत पसंद का मामला है, साथ ही विम का उपयोग करके प्राप्त अनुभव भी। यह संभव है कि नीचे वर्णित कुछ कार्यों के लिए, अधिक प्रभावी समाधान हैं।

: g // t $ - फ़ाइल के अंत में हाइलाइट किए गए मान वाली कॉपी लाइनें। यदि, उदाहरण के लिए, आपको जल्दी से यह समझने की आवश्यकता है कि एक वैश्विक चर (सिक! - और क्या करना है, वे विरासत कोड में होते हैं) मॉड्यूल में उपयोग किया जाता है।

: g // d - हाइलाइट किए गए मान वाली लाइनें हटाएं
: G! // d - हाइलाइट किए गए मान वाली लाइनें न हटाएं

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

कई रिक्त लाइनों की प्रत्येक घटना को एक रिक्त रेखा से बदलें (ताकि पैराग्राफ के बीच एक पंक्ति में समान अंतर हो):
: v /./////- जे

रिक्त लाइनें निकालें (दृश्य मोड में)
: '<,'> जी / ^ $ / डी

लगातार लाइनों को फैलाएं (पिछली क्रिया के विपरीत, प्रत्येक रेखा एक पैराग्राफ बन जाएगी)
76 वर्णों के लिए पाठ को प्रारूपित करते समय यह आवश्यक होता है, क्योंकि प्रारूप में से शब्द इसे सहेजता है, जब प्रत्येक अनुच्छेद पाठ फ़ाइल में एक पंक्ति बन जाता है।
: '<,'> s / $ / \ r / g

निम्नलिखित जीवाओं ने अपनी उपयोगिता (_vimrc से टुकड़ा) दिखाया है
"Alt-1 द्वारा वर्तमान शब्द संपादित करें
nnoremap <M-1> ciw

"Alt-5 द्वारा वर्तमान शब्द की पूंछ को बदलते हैं
nnoremap <M-5> cw

कोड और प्रोग्रामिंग के लिए विम का उपयोग करना

कोड के साथ काम करते समय यहां कुछ ट्रिक्स उपयोगी हैं। वास्तव में, यह विम कोड के साथ काम करने के लिए था कि इसे बनाया गया था (एमएसीएस के विपरीत, जिसे किसी भी ग्रंथ के साथ काम करने के लिए उपयुक्त एक अधिक सार्वभौमिक संपादक माना जाता है, न कि केवल कोड। हालांकि, यह पवित्र युद्धों के लिए एक प्रसिद्ध विषय है)।

ऑपरेटर ब्रैकेट के अंदर कोड का एक ब्लॉक और उसके बाद के संरेखण (इंडेंटिंग) के लिए लेबल] का उपयोग करना सुविधाजनक है। यहां हमारा मतलब है कि पी कमांड के साथ ऑपरेटर ब्रैकेट के अंदर एक ब्लॉक डालने के बाद, आपको स्वीकृत प्रारूपण नियमों के अनुसार ब्रैकेट के अंदर इसकी स्थिति संरेखित करने के लिए फिर से सम्मिलित ब्लॉक का चयन करना होगा। ऐसा करने के लिए, सम्मिलित ब्लॉक का चयन करें। यह सम्मिलित ब्लॉक की पहली पंक्ति पर खड़े होकर, लाइनों के दृश्य हाइलाइटिंग (कमांड V) पर स्विच करके किया जा सकता है, और कमांड को एक विशेष लेबल पर जाता है जिसका अर्थ है कि ब्लॉक की अंतिम पंक्ति बस सम्मिलित की गई है: '] (एपोस्ट्रोफ, फिर स्क्वायर ब्रैकेट बंद करना) ।

ऑपरेटर कोष्ठक के चारों ओर घूमने के लिए मिलान प्लगइन। कोई टिप्पणी नहीं होनी चाहिए। % कमांड के साथ, कर्सर C- जैसे सिंटैक्स के साथ भाषाओं में {और} के बीच कूदता है, पास्कल में शुरू और अंत के बीच आदि। प्लगइन मानक विम पैकेज में शामिल है।

Ctrl-N द्वारा स्वतः पूर्ण। बेशक, यह आईडीई में भी काम नहीं करेगा जो पार्सिंग और प्रीकंप्लिमेंटेशन का समर्थन करता है, लेकिन अगर ऐसी कोई आईडीई नहीं है, या यदि आप इसे स्थापित करने के लिए अनिच्छुक हैं, तो यह करेगा।

टैग जनरेटर ctags और टैग नेविगेशन Ctrl-] (कर्सर के नीचे फ़ंक्शन पर जाएं) और Ctrl-T (वापस जाएं) को कमांड करता है। फिर से, आईडीई के साथ तुलना में, यह सरल और कभी-कभी ओक निकलता है, लेकिन काम करने वाले कोड नेविगेशन (इसके अलावा, कोड काफी हो सकता है, आधा मिलियन लाइनें काफी खींच रही हैं, और वे कहते हैं, यह बहुत अधिक खींच सकता है)।

आप का उपयोग कर सकते हैं: r-Grep <grep के लिए तर्क> और फिर कोड सरणी (रीफैक्टरिंग के लिए) को खोजने और / या बदलने के लिए Ctrl-W gf। आदेश: r! Grep वर्तमान स्थान (जहाँ कर्सर है) में grep का आउटपुट सम्मिलित करता है। Gf (go [to] file) कमांड फाइल को खोलता है जिसका नाम कर्सर एक नई विंडो (या टैब) में आता है। यदि फ़ाइल का नाम मुश्किल है (उदाहरण के लिए, फ़ाइल पथ में रिक्त स्थान हैं), तो आप दृश्य हाइलाइटिंग मोड में फ़ाइल के लिए पूर्ण पथ का चयन कर सकते हैं, और उसके बाद gf कमांड (या Ctrl-W gf) दें।

विंडोज ऑपरेटिंग सिस्टम पर विम का उपयोग करना

चूंकि मेरे पास मुख्य ओएस के रूप में विंडोज है, इसलिए मैं कुछ अतिरिक्त वीआईएम सेटिंग्स कर रहा हूं ताकि गर्म कुंजी उसी तरह व्यवहार करें। मानक वितरण में mswin.vim सेटिंग फ़ाइल शामिल है, जो _vimrc आरंभीकरण फ़ाइल की शुरुआत में शामिल है:
set nocompatible
source $VIMRUNTIME/mswin.vim
behave mswin

इस फ़ाइल को शामिल करने से तथ्य यह होता है कि क्लिपबोर्ड कमांड (Ctrl-C और Ctrl-V) की प्रतिलिपि और पेस्ट विंडोज के लिए मानक तरीके से काम करना शुरू कर देता है, जो पूरी तरह से उचित है।

कई फ़ाइलों को संपादित करने के लिए, मैं टैब का उपयोग करता हूं। विम में एक फ़ाइल खोलने के लिए (यदि फ़ाइल पहले से ही खुली हो तो फ़ाइल / फ़ाइलों के साथ एक टैब जोड़ें), मैं सुदूर मेनू के लिए कमांड का उपयोग करता हूं:
"C:\Program Files\Vim\vim73\gvim.exe" --remote-tab-silent !&
(& & Far। का विशेष स्थूल अर्थ है "वर्तमान या चयनित फ़ाइलें")। दरअसल, यहाँ कमांड लाइन इंटरफ़ेस यह है:
"C:\Program Files\Vim\vim73\gvim.exe" --remote-tab-silent file1 [file2] ...
टैब के बीच स्विच करने के लिए, मैं मानक विंडोज कीबोर्ड शॉर्टकट Ctrl-Tab (Shift-Ctrl-Tab) का उपयोग करता हूं। अभ्यास ने यह भी दिखाया है कि आपको बाएँ और दाएँ टैब को स्थानांतरित करने में सक्षम होने की आवश्यकता है ताकि एक ही समय में संपादित की जाने वाली कई फ़ाइलों को स्थानांतरित किया जा सके ताकि वे पड़ोसी टैब में दिखाई दें। इसके लिए, मैं निम्नलिखित सेटिंग्स का उपयोग करता हूं:

" CTRL-Tab is Next tab
nnoremap <C-Tab> :tabnext<CR>

" CTRL-Shift-Tab is Previous tab
nnoremap <CS-Tab> :tabprevious<CR>

" use Alt-Left and Alt-Right to move current tab to left or right
nnoremap <silent> <A-Left> :execute 'silent! tabmove ' . (tabpagenr()-2)<CR>
nnoremap <silent> <A-Right> :execute 'silent! tabmove ' . tabpagenr()<CR>

" CTRL-F4 is :tabclose
nnoremap <C-F4> :tabclose<CR>


इंसर्ट मोड में काम करते समय, मेरे लिए मानक प्रणाली लेआउट स्विचिंग का उपयोग करना अधिक सुविधाजनक है (जो आमतौर पर Alt-Shift है, और मेरे पास कैप्स है), बिल्ट-इन Vim के बजाय, जो कि Ctrl- ^ है। हालांकि, शायद यह विशुद्ध रूप से व्यक्तिगत पसंद है।

मैं विंडो के बीच कर्सर ले जाता हूं (विम शब्दों में, अर्थात्, टेब कुंजी के साथ: स्प्लिट या: vsplit कमांड्स द्वारा बनाए गए पाठ क्षेत्र), जो फिर से, विंडोज के लिए मानक है:
" Tab is Next window
nnoremap <Tab> <CW>w

" Shift-Tab is Previous window
nnoremap <S-Tab> <CW>W

एक संकेत जो नए विम उपयोगकर्ताओं के लिए स्पष्ट नहीं है: विंडोज क्लिपबोर्ड से चीट शीट से वीआईएम कमांड लाइन तक एक उपयोगी कमांड पेस्ट करने के लिए, आपको कमांड रिटर्न मोड में होना चाहिए (जो हम कॉलोन पर क्लिक करने के बाद जाते हैं), Ctrl-R दबाएं (कर्सर परिवर्तन फॉर्म एक उद्धरण के साथ), फिर Shift-8 दबाएं (इस संदर्भ में, इसका अर्थ है "उस रजिस्टर की सामग्री को पेस्ट करें जहां विंडोज क्लिपबोर्ड स्थित है)।"

Ctrl-W c और Ctrl-W c (जो टाइपिंग की तुलना में तेज है: विभाजन और: vsplit)

निष्कर्ष

हमने कुछ सिद्धांतों और तकनीकों की जांच की, जिसमें विम संपादक का उपयोग पाठ संपादन की दक्षता में सुधार कर सकता है। शायद इस लेख में किसी ऐसे व्यक्ति की दिलचस्पी थी जो विम के साथ काम नहीं करता था, लेकिन कोशिश करना चाहता था (या चाहता था), या जो पहले से ही विम को देख चुके हैं, लेकिन इसके इंटरफ़ेस के असामान्य और असामान्य उपस्थिति के कारण इसका उपयोग शुरू नहीं किया। वास्तव में, विम उपयोग करने के लिए सबसे आसान उपकरण नहीं है और इसकी सीखने की अवस्था सबसे कोमल नहीं है। हालांकि, समय-परीक्षण किए गए डिज़ाइन और महान लचीलापन इसे सबसे प्रभावी पाठ संपादन उपकरण में से एक बनाते हैं जो आज इसकी प्रासंगिकता नहीं खो चुके हैं। इसके अलावा, यह विकसित हो रहा है और नए संस्करण सामने आ रहे हैं। विम का उपयोग करने की सबसे बड़ी दक्षता सही दृष्टिकोणों का उपयोग करके प्राप्त की जाती है, जिनमें से कुछ (जैसा कि मैं इसे देखता हूं) मैंने इस लेख में कवर करने की कोशिश की।

नौसिखिए उपयोगकर्ताओं के लिए जो विम का उपयोग करना सीखना चाहते हैं, मैं आपको उस तरीके से जाने की सलाह दूंगा जो मैं खुद गया था - पैकेज में शामिल ट्यूटोरियल को पूरा करने के लिए, और फिर धीरे-धीरे मदद प्रणाली से उपयोगकर्ता मैनुअल अध्याय पढ़ें (यह बहुत अच्छा है, कमांड द्वारा उपलब्ध: सहायता) आदेश में, वहां वर्णित आदेशों का उपयोग करने का प्रयास करें और निश्चित रूप से, रोजमर्रा की गतिविधियों में विम का उपयोग करें।

आपका ध्यान देने के लिए धन्यवाद।

Source: https://habr.com/ru/post/In131951/


All Articles