दिलचस्प पोस्ट
जावा और एंड्रॉइड डेवलपमेंट में वीक रेफरेंस का उपयोग कैसे करें? गिनती के साथ लंबे प्रारूप में लंबे समय तक कन्वर्ट करने का आसान तरीका बहुआयामी सरणी जावास्क्रिप्ट या coffeescript में सबसे बड़ा मान प्राप्त करें JSON के अलावा अन्य विधियों का उपयोग करके स्ट्रिंग में एरे को कैसे परिवर्तित करें? UITableView पर लंबी दबाएं CSS3 घुमाएगी एनिमेशन हो सकता है कि जावास्क्रिप्ट में वक्तव्य के भीतर घोषणाएं हो सकती हैं? ऐप नहीं कर सकता। (मूलर) "मिडलवेयर फ़ंक्शन" त्रुटि की आवश्यकता है आर में क्वांटमोड का उपयोग करते हुए याहू फाइनेंस से डेटा डाउनलोड नहीं किया जा सकता क्या सभी डेटा एक ही आकार में सभी डेटा प्रकारों के लिए एक प्लेटफॉर्म में इंगित करते हैं? सरणी PHP करने के लिए सरणी? जेक्री यूआई टैब्स को कैसे क्षैतिज रूप से स्क्रॉल करें यदि बहुत सारे टैब हैं एक निर्देशिका के अंदर फाइलें प्राप्त करें पायथन में एक सूची (परिपत्र फ़ैशन) में युग्मों को दोहराएं लिखने के संदर्भ में विधि वापसी मान का उपयोग नहीं कर सकते

विंक कमांड लाइन में yanked पाठ कैसे पेस्ट करें?

मैं yanked पाठ को विम कमांड लाइन में पेस्ट करना चाहता हूं क्या यह संभव है?

Solutions Collecting From Web of "विंक कमांड लाइन में yanked पाठ कैसे पेस्ट करें?"

हाँ। CtrlR दबाएं " । यदि आपके पास यैंक में शाब्दिक नियंत्रण अक्षर हैं, तो CtrlR , CtrlO का प्रयोग करें "

यहाँ रजिस्टरों के साथ आप क्या कर सकते हैं इसका एक विवरण है। रजिस्टरों के साथ आप क्या कर सकते हैं असाधारण है, और एक बार आप जानते हैं कि उनका इस्तेमाल कैसे किया जाए तो आप उनके बिना नहीं रह सकते।

रजिस्टर स्ट्रिंग के लिए मूल रूप से भंडारण स्थान हैं विम के पास कई रजिस्टरों हैं जो अलग-अलग तरीके से काम करते हैं:

  • 0 (यांक रजिस्टर: जब आप सामान्य मोड में y का उपयोग करते हैं, एक रजिस्टर निर्दिष्ट किए बिना, yanked पाठ वहां जाता है और डिफ़ॉल्ट रजिस्टर में भी जाता है),
  • 1 से 9 (स्थानांतरण रजिस्टरों को बदलना, जब आप कमांड जैसे c या d उपयोग करते हैं, जो हटा दिया गया है, 1 रजिस्टर करने के लिए जाता है, रजिस्टर 1 में 2 पंजीकृत करता है, आदि ),
  • " (डिफ़ॉल्ट रजिस्टर, जिसे अज्ञात रजिस्टर भी कहा जाता है। यह वह जगह है जहां " CtrlR , " में आता है),
  • अपने स्वयं के उपयोग के लिए A से Z (कैपिटल A से Z संबंधित रजिस्टरों को जोड़ने के लिए)
  • _ (जैसे /dev/null (यूनिक्स) या NUL (विंडोज) की तरह काम करता है, आप इसे लिख सकते हैं, लेकिन इसे त्याग दिया जाता है और जब आप इसे पढ़ते हैं, तो यह हमेशा खाली होता है),
  • - (छोटा हटाना रजिस्टर),
  • / (उदाहरण के लिए, आप / , ? , * या # साथ पाठ की खोज करते समय अपडेट पैटर्न रजिस्टर, अपडेट किया जाता है; आप इसे खोज पद्धति को गतिशील रूप से बदलने के लिए भी लिख सकते हैं),
  • : ( Q माध्यम से पिछला वीमल टाइप किए गए कमांड या : केवल पढ़ने के लिए),
  • + और * (सिस्टम क्लिपबोर्ड रजिस्टरों, आप क्लिपबोर्ड सेट करने के लिए उन्हें लिख सकते हैं और क्लिपबोर्ड सामग्री उनसे पढ़ सकते हैं)

देखें :help registers पूर्ण संदर्भ के लिए :help registers

आप, किसी भी समय, उपयोग कर सकते हैं :registers सभी रजिस्टरों की सामग्री प्रदर्शित करने के लिए रजिस्टरों। इस आदेश के लिए समानार्थक और शॉर्टहाउंड हैं :display :reg और :di

सम्मिलित करें या कमांड लाइन मोड में, CtrlR प्लस एक रजिस्टर नाम, इस रजिस्टर की सामग्री को सम्मिलित करता है यदि आप उन्हें शाब्दिक रूप से सम्मिलित करना चाहते हैं (कोई स्वत: इंडेंटिंग नहीं है, तो 0x08 से बैकस्पेस, आदि जैसे नियंत्रण पात्रों का कोई रूपांतरण नहीं), आप CtrlR , CtrlO , रजिस्टर नाम का उपयोग कर सकते हैं। देखें :help i_CTRL-R अधिक संदर्भ के लिए :help i_CTRL-R और निम्नलिखित अनुच्छेदों की :help i_CTRL-R

लेकिन आप निम्न कार्य भी कर सकते हैं (और मैं शायद रजिस्टरों के लिए कई उपयोगों को भूल गया था)

  • सामान्य मोड में, " हिट करें " : पी । अंतिम कमांड जो आपने वीआईएम में इस्तेमाल की थी उसे आपके बफ़र में पेस्ट कर दिया गया है।
    चलो विघटित करें: " एक सामान्य मोड कमांड है जो आपको अगले याक के दौरान उपयोग करने के लिए कौन-से रजिस्टर का उपयोग करना है, हटाने या ऑपरेशन को पेस्ट करने देता है। " इसलिए : बृहदान्त्र रजिस्टर (अंतिम कमांड संग्रहित) का चयन करता है। फिर पी एक कमांड है जिसे आप पहले से जानते हैं, यह रजिस्टर की सामग्री को चिपकाता है

    सीएफ :help " , :help quote_:

  • आप एक वीआईएमएल फ़ाइल (उदाहरण के लिए आपका .vimrc ) संपादित कर रहे हैं और अभी कुछ लगातार लाइनें निष्पादित करना चाहते हैं: y j : @ " Enter
    यहां, वर्तमान और अगली पंक्ति में वाई जम्मू yanks (यह इसलिए है क्योंकि जम्मू एक लाइनवाई गति है, लेकिन यह इस उत्तर के दायरे से बाहर है) डिफ़ॉल्ट रजिस्टर में (जिसे अज्ञात रजिस्टर भी कहा जाता है) उसके बाद :@ Ex कमांड में वादों के रूप में दिए गए रजिस्टर में रखे गए पूर्व आदेश निभाता है, और " यह है कि आप कैसे अनाम रजिस्टर का उल्लेख करते हैं। इस उत्तर के ऊपर भी देखें, जो संबंधित है

    भ्रमित न करें " यहां इस्तेमाल किया (जो एक रजिस्टर नाम है) " पिछले उदाहरण से, जो सामान्य-मोड कमांड था

    सीएफ :help :@ और :help quote_quote

  • अपनी फ़ाइल में सम्मिलित मोड में अंतिम खोज पैटर्न डालें या कमांड लाइन में, CtrlR , / के साथ

    सीएफ :help quote_/ , help i_CTRL-R

    कोरलरी: अपने खोज पैटर्न को रखें लेकिन वैकल्पिक जोड़ें: / CtrlR , / \|alternative

  • आपने विज़ुअल मोड में एक पंक्ति के मध्य में दो शब्द चुन लिए हैं, उन्हें y साथ जोड़ दिया है, वे अज्ञात रजिस्टर में हैं अब आप उन दो शब्दों के साथ जहां आप हैं, नीचे एक नई रेखा खोलना चाहते हैं :pu । इसके लिए लघुकथ है :put " । The :put command, जैसा कि कई पूर्व कमानों, केवल linewise काम करता है

    सीएफ :help :put

    आप यह भी कर सकते थे :call setreg('"', @", 'V') तब psetreg फ़ंक्शन उस रजिस्टर को सेट करता है जिसे नाम प्रथम तर्क के रूप में दिया जाता है (एक स्ट्रिंग के रूप में), इसे दूसरे तर्क की सामग्री के साथ आरंभीकृत करता है (और आप रजिस्टरों का नाम @x नाम के साथ चर के रूप में उपयोग कर सकते हैं जहां x में रजिस्टर नाम है VimL), और इसे तीसरे तर्क में निर्दिष्ट मोड में बदलता है, V लिए पंक्ति के अनुसार, वर्णवश और वर्चुअल ^V for blockwise के लिए कुछ नहीं।

    सीएफ :help setreg() रिवर्स फ़ंक्शन हैं getreg() और getregtype()

  • यदि आपने qa साथ एक मैक्रो दर्ज किया है … q , तो :echo @a आपको बताएगा कि आपने क्या लिखा है, और @a मैक्रो को फिर से खेलना होगा (संभवतः आपको पता था कि एक, दोहराए कार्य से बचने के लिए बहुत उपयोगी)

    सीएफ :help q , help @

    पिछले उदाहरण से परिणाम: यदि आपके पास क्लिपबोर्ड में 8go है, तो @+ एक मैक्रो के रूप में क्लिपबोर्ड सामग्री को 8go , और इस प्रकार आपकी फ़ाइल के 8 वें बाइट पर जाएंगे। दरअसल यह लगभग हर रजिस्टर के साथ काम करेगा। यदि आपका अंतिम सम्मिलित स्ट्रिंग dd इन डार्ट मोड में है, तो @. (क्योंकि रजिस्टर में अंतिम सम्मिलित स्ट्रिंग शामिल है) एक पंक्ति को हटा दें। (Vim दस्तावेज़ीकरण इस संबंध में गलत है, क्योंकि यह बताता है कि रजिस्टरों # , % , और . केवल p , P साथ काम करेंगे :put और CtrlR )

    सीएफ :help @

    भ्रमित मत करो :@ (कमांड जो वीआईएम एक रजिस्टर से कमांड करता है) और @ (सामान्य-मोड कमांड जो रजिस्टर से सामान्य-मोड कमांड बजाता है)।

    उल्लेखनीय अपवाद है @: :। कमांड रजिस्टर में प्रारंभिक बृहदान्त्र शामिल नहीं है और इसमें अंतिम कैरिज रिटर्न शामिल नहीं है। हालाँकि सामान्य मोड में, @: आप जो अपेक्षा करते हैं, वह पूर्व आदेश के रूप में रजिस्टर की व्याख्या करेगा, इसे सामान्य मोड में चलाने की कोशिश नहीं करेगा। इसलिए यदि आपकी पिछली आज्ञा थी :e , रजिस्टर में e लेकिन @: फाइल को पुनः लोड कर देगा, शब्द के अंत में नहीं जाएंगे।

    सीएफ :help @:

  • यह दिखाएं कि आप इसे चलाने से पहले सामान्य मोड में क्या करेंगे: @='dd' दर्ज करें जैसे ही आप = कुंजी को मारते हैं, विम अभिव्यक्ति मूल्यांकन में स्विच होता है: जैसा कि आप एक अभिव्यक्ति दर्ज करते हैं और एंट दबाते हैं, विम उसे संकलित करता है, और परिणाम एक रजिस्टर सामग्री के रूप में कार्य करता है बेशक रजिस्टर = केवल पढ़ने के लिए है, और एक शॉट है। हर बार जब आप इसे प्रयोग करना शुरू करते हैं, तो आपको एक नई अभिव्यक्ति दर्ज करनी होगी।

    सीएफ :help quote_=

    कोरलारी: यदि आप एक कमांड को संपादित कर रहे हैं, और आपको पता है कि आपको अपने वर्तमान बफर से अपनी लाइन में कुछ पंक्ति डालने की आवश्यकता होनी चाहिए: ईएससी दबाएं नहीं! CtrlR =getline(58) करें दर्ज करें उसके बाद आप कमान रेखा संपादन में वापस आ जाएंगे, लेकिन उसने 58 वीं पंक्ति की सामग्री को सम्मिलित किया है।

  • खोज पैटर्न को मैन्युअल रूप से परिभाषित करें :let @/ = 'foo'

    सीएफ :help :let

    ध्यान दें कि ऐसा करने से, आपको पैटर्न से बचने की आवश्यकता नहीं है। हालांकि आपको पाठ्यक्रम के सभी एकल उद्धरणों को दोगुना करना होगा।

  • foo साथ शुरू होने वाली सभी लाइनों की प्रतिलिपि बनाएँ, और बाद में क्लिपबोर्ड पर सभी लाइनों को क्लिपबोर्ड में qaq , इन आज्ञाओं को qaq : qaq ( एक रजिस्टर को उसमें रिक्त मैक्रो को रीसेट करता है) :g/^foo/y A , :g/bar/y A , :let @+ = @a

    पूंजी पंजीकरण नाम का उपयोग करते हुए रजिस्टर कार्य ऐपेंड मोड में करता है

    बेहतर, यदि Q mswin.vim द्वारा mswin.vim नहीं किया गया है, तो Q साथ पूर्व मोड को प्रारंभ करें, जो उन "कोलन कमांड" को चेन करते हैं जो वास्तव में बेहतर हैं "एक्स कमांड", और visual टाइप करके सामान्य मोड पर वापस जाएं।

    सीएफ :help :g :help :y :help Q

  • डबल-स्पेस अपनी फ़ाइल :g/^/put _ यह प्रत्येक छेद के बाद ब्लैक होल रजिस्टर की सामग्री (खाली पढ़ने के समय खाली है, लेकिन लिखने योग्य, /dev/null तरह व्यवहार करना) देता है (क्योंकि प्रत्येक पंक्ति की शुरुआत है!)।

  • प्रत्येक पंक्ति से पहले foo युक्त रेखा जोड़ें :g/^/-put ='foo' यह अभिव्यक्ति रजिस्टर का एक चतुर उपयोग है यहां, - (सीएफ :help :range ) के लिए एक पर्याय है। चूंकि :put पाठ को लाइन के बाद रखता है, आपको इसे स्पष्ट रूप से पिछले एक पर कार्य करने के लिए कहना होगा।

  • पूरे बफर को सिस्टम क्लिपबोर्ड पर कॉपी करें :%y+

    सीएफ :help :range ( % भाग के लिए) और :help :y

  • यदि आपने मैक्रो को गलत तरीके से दर्ज कर लिया है, तो आप टाइप कर सकते हैं :let @a=' CtrlR =replace(@a,"'","''",'g') दर्ज करें ' यह a पंजीकृत में संग्रहीत मैक्रो की सामग्री को संशोधित करेगा, और यह यहां दिखाया गया है कि आप ऐसा करने के लिए अभिव्यक्ति रजिस्टर का उपयोग कैसे कर सकते हैं

  • यदि आपने dddd , तो आप पूर्ववत करने के लिए dddd भी कर सकते हैं। p साथ आप आखिरी हटाई गई रेखा को प्राप्त कर सकते हैं। लेकिन वास्तव में आप रजिस्टरों @1 से @9 @1 साथ 9 हटाए गए तक पुनर्प्राप्त भी कर सकते हैं

    इससे भी बेहतर, यदि आप "1P करते हैं, तो सामान्य मोड में "2P , और इसी तरह।

    सीएफ :help . और :help quote_number

  • यदि आप सम्मिलित करें मोड में वर्तमान दिनांक =strftime('%y%m%d') : CtrlR =strftime('%y%m%d') दर्ज करें

    सीएफ :help strftime()

एक बार फिर, क्या भ्रमित हो सकता है:

  • :@ एक कमांड-लाइन कमांड है जो एक रजिस्टर की सामग्री को लिखित करता है जैसे कि वीआईएससीपीटी और स्रोत
  • @ सामान्य मोड कमांड में जो सामान्य-मोड कीस्ट्रोक्स के रूप में एक रजिस्टर की सामग्री की व्याख्या करता है (जब आप उपयोग करते हैं : रजिस्टर, जिसमें प्रारंभिक बृहदान्त्र के बिना पिछली निभाई गई कमांड है: इस मामले में यह कमांड को प्रतिस्थापित करता है जैसे कि आप भी पुनः टाइप करते हैं बृहदान्त्र और अंतिम रिटर्न कुंजी)।

  • " सामान्य मोड कमांड में आपको यैंक, पेस्ट, डिलीट, सही आदि के लिए एक रजिस्टर चुनने में मदद करता है।

  • " एक वैध पंजीकरण नाम भी है (डिफ़ॉल्ट, या अनाम, रजिस्टर) और इसलिए उन आदेशों के लिए एक तर्क के रूप में पारित किया जा सकता है जो रजिस्टर नाम की अपेक्षा करते हैं

कुछ चिपकाने के लिए जो सिस्टम क्लिपबोर्ड है आप केवल SHIFT-INS उपयोग कर सकते हैं

यह विंडोज में काम करता है, लेकिन मुझे लगता है कि यह लिनक्स में अच्छी तरह काम करता है।

"मैं विंक कमांड लाइन में यैंक पाठ पेस्ट करना चाहता हूं।"

जबकि शीर्ष मतदान का उत्तर बहुत ही पूर्ण है, मैं कमान इतिहास संपादन करना पसंद करता हूं।

सामान्य मोड में, टाइप करें: q: :। यह आपको हाल के आदेशों की एक सूची देगा, संपादन योग्य और सामान्य vim कमांड के साथ खोजने योग्य। आप नीचे एक खाली कमांड लाइन पर शुरू करेंगे

एक सटीक वस्तु के लिए, आलेख को एक कमांड लाइन में चिपकाने (या कुछ चीजें) चिपकाए जाने के लिए, अपने पाठ को यांक करें और फिर: q:p (कमांड इतिहास संपादन मोड में आएँ, और फिर (पी) को अपने yanked पाठ में एक नई कमांड लाइन। संपादित करें पर, निष्पादित करने के लिए दर्ज करें।

कमांड इतिहास मोड से बाहर निकलने के लिए, यह विपरीत है कमांड इतिहास में सामान्य मोड में, टाइप करें :q + enter

यह भी ध्यान देने योग्य है कि यैंक रजिस्टरों मैक्रो बफ़र्स के समान हैं। दूसरे शब्दों में, आप अपने संपूर्ण कमान को अपने दस्तावेज़ में लिख सकते हैं (आपके चिपकने वाला स्निपेट सहित), फिर "by इसे b रजिस्टर में @b , और फिर इसे @b b साथ चलाएं।

सिस्टम क्लिपबोर्ड से कुछ विगम कमांड लाइन ("कमांड मोड") में चिपकाने के लिए, + + के बाद का उपयोग करें + + मेरे लिए, कम से कम Ubuntu पर, Shift + Ins काम नहीं कर रहा है

PS: सुनिश्चित नहीं है कि क्यों Ctrl + R का पालन ​​करें * , जो सैद्धांतिक रूप से Ctrl + R के जैसा होता है + हमेशा काम करने के लिए प्रतीत नहीं होता मैंने + संस्करण की खोज की और खोज की और यह हमेशा मेरे बॉक्स पर कम से कम काम करने लगता है।

मुझे एक ऐसी ही समस्या थी मैं चाहता हूं कि चयनित पाठ को कमांड में समाप्त कर दिया जाए, लेकिन इसे चिपकाने पर भरोसा न करें। यहां पर वह कमांड है जिसके लिए मैं मैपिंग लिखने की कोशिश कर रहा था:

 :call VimuxRunCommand("python") 

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

 vnoremap y:call VimuxRunCommand("<cr>"")<cr> 

इस के आसपास पाने के लिए, आप मैक्रो की सामग्री का उपयोग करके @

 vnoremap y:call VimuxRunCommand(@")<cr> 

अज्ञात रजिस्टर की सामग्री को पास करता है और मेरे दोहरे उद्धरण और बहुलाइन किनारे के किनारों के साथ काम करता है।

OSX

यदि आप मैक ओएसएक्स में वीआईएम का प्रयोग कर रहे हैं, दुर्भाग्य से यह पुराने वायरी के साथ आता है, और क्लिपबोर्ड विकल्पों के साथ अनुपालन नहीं किया गया है। सौभाग्य से, होमब्रा आसानी से इस समस्या को हल कर सकते हैं।

vim इंस्टॉल करें:

brew install vim --with-lua --with-override-system-vi

जीआईआईआर विआयम का स्थापित करें:

brew install macvim --with-lua --with-override-system-vi

प्रभावी होने के लिए टर्मिनल को पुनरारंभ करें

निम्न पंक्ति को ~/.vimrc
set clipboard=unnamed

अब आप वाई में लाइन की प्रतिलिपि बना सकते हैं और इसे सिस्टम-वाइड पेस्ट कर सकते हैं।