सवाल मैं वी / विम में सभी पाठ कैसे चुनूं?


कॉन्फ़िगरेशन फ़ाइलों को संपादित करने के लिए VI टूल का उपयोग करना।

मैं फ़ाइल में सभी पाठ (लगभग 1000 लाइनों) का चयन कैसे कर सकता हूं, इसे कॉपी कर सकता हूं, फिर Google डॉक्स में पेस्ट कर सकता हूं?


155
2017-12-30 17:05


मूल


i  Ctrl-A  Ctrl-C, फैंसी वीम कमांड की कोई ज़रूरत नहीं है (और यह वास्तव में शीर्ष उत्तर की तुलना में टाइप करने के लिए तेज़ है) - Laconian Thinker


जवाब:


उपयोग करने का सबसे सरल और तेज़ तरीका है: :  %  y  + और फिर Google डॉक्स (या कहीं भी) पर जाएं और पेस्ट करें। स्पष्टीकरण:

  • %  अगली कमांड को सभी लाइनों पर काम करने के लिए संदर्भित करने के लिए
  • yउन लाइनों को यंक करने के लिए
  • +सिस्टम क्लिपबोर्ड पर कॉपी करने के लिए

एक और तरीका है जी  जी  "  +  y  जी लेकिन आप शायद स्वीकार करेंगे कि उपर्युक्त तेज़ और आसान है।


131
2018-03-26 21:30



@Tuxmentat क्या आप कृपया बता सकते हैं कि प्रत्येक कुंजी क्या करती है :%y+ - Jas
यह उत्तर बेहतर होगा अगर यह समझाया गया कि प्रत्येक कुंजी दोनों अनुक्रमों के लिए क्या करती है। - AsksAnyway
मेरा सबसे अच्छा अनुमान: ':' का अर्थ है कि हम "पूर्व मोड" कमांड का उपयोग कर रहे हैं (मुझे लगता है)। किसी भी तरह, यह एक आदेश है। '%' एक विशेष है कमांड लाइन रेंज विनिर्देशक जो पूरी फाइल निर्दिष्ट करता है। 'y' सब कुछ yanks, और '+' निर्दिष्ट करता है क्लिपबोर्ड रजिस्टर। : मदद <कमांड> ने मुझे यह समझने में मदद की। - Hawkeye Parker
मुझसे कुछ गलत हो रहा होगा। मैं अंकित करता हुँ :%y+, और मुझे मिलता है E488: Trailing characters - johny why
मुझे "ई 850: अमान्य रजिस्टर नाम" मिलता है। दूसरी विधि की प्रतिलिपि बनाने के लिए ठीक काम किया, लेकिन उबंटू 16.04 पर सिस्टम क्लिपबोर्ड नहीं मिला (मेरे लिए, कम से कम --- मेरे पास एक .vimrc है जो चीजों को प्रभावित कर सकता है)। - EntangledLoops


कई दिए गए उत्तरों ने भी चयन को झुकाया, जिसे मैं नहीं ढूंढ रहा था।

मैं उपयोग कर रहा हूँ ggVG इस उद्देश्य के लिए (सामान्य मोड पर चलने की जरूरत है)। यह आदेश केवल दस्तावेज़ के अंदर पूरा पाठ का चयन करता है।

मैंने भी remapped किया है Ctrl + A इस उद्देश्य के लिए, क्योंकि मुझे वास्तव में शॉर्टकट के साथ एक पूर्णांक बढ़ाने की आवश्यकता नहीं है (डिफ़ॉल्ट Ctrl + A नक्शा)।

बस इसे अपने आप में जोड़ें .vimrc:

map <C-a> <esc>ggVG<CR>

यह है <esc> सबसे पहले, यह सुनिश्चित करने के लिए कि उपयोगकर्ता सामान्य मोड में है।


73
2018-05-29 15:09



वास्तव में जो मैं खोज रहा था, और यह देखना अच्छा लगता है कि Ctrl + A डिफ़ॉल्ट रूप से vim पर कब्जा नहीं किया गया है। उम्मीद है कि कोई दुष्प्रभाव नहीं हैं। - Nikos Alexandris
मैं व्यक्तिगत रूप से उपयोग करता हूं ggVG, परंतु gg0vG$ अधिक उपयुक्त हो सकता है क्योंकि यह 'सामान्य' Ctrl + A ऑपरेशन को अधिक बारीकी से प्रतिलिपि बनाता है। - Sheharyar


आप उपयोग कर सकते हैं cat file और फिर आउटपुट का चयन करें और कॉपी करें और पेस्ट करें यदि आपको इसे अपने ब्राउज़र में पेस्ट करने की आवश्यकता है।

Vi के लिए यह है कि आप सभी पाठ का चयन कैसे कर सकते हैं और इसे एक नई फ़ाइल में लिख सकते हैं:

shift v  -- visual mode
shift g -- jump to eof
"*y -- yank select text
:e my_new_file -- create a new file
"*p -- paste into a new file

सिद्धांत में यह लिनक्स और विंडोज दोनों पर काम करना चाहिए - मैंने इसे मैक पर करने की कोशिश की लेकिन यह काम नहीं करता है।


36
2017-12-30 17:21



वेब ब्राउज़र में पेस्ट करने के लिए cat file जाने का रास्ता है। shift v विधि केवल वी के आंतरिक बफर की प्रतिलिपि बनाता है। - Aleksandr Levchuk
यदि आप सिस्टम क्लिपबोर्ड का उपयोग नहीं करते हैं जो * रजिस्ट्री का उपयोग करता है - लेकिन यह केवल एक्स पर काम करता है और मैंने विंडोज़ पर सुना है - तो अगर आपको एसएसएच की आवश्यकता है - तो यह जांचने के लिए कि क्या विम के लिए इसका समर्थन है या नहीं - क्लिपबोर्ड + = अनाम
क्या कोई नई फाइल बनाने के बिना ऐसा करने का कोई विकल्प है। अगर हम सर्वर पर लाइव संपादित कर रहे हैं तो हमें बैकअप कोड को स्थानीय मशीन पर रखना होगा ताकि हम वापस लौट सकें। - Nagama Inamdar
बिल्ली के लिए +1 और पुटी में चयन करें। बेशक, बड़ी फाइलों के लिए काम नहीं करेगा और सबसे उपयोगकर्ता अनुकूल तरीका नहीं है। लेकिन स्क्रीन स्क्रिप्टपोर्ट के बाहर जाने वाली छोटी स्क्रिप्ट फ़ाइलों की प्रतिलिपि बनाने के लिए पर्याप्त है। - Arnis Juraga


जीजीवीजी का उपयोग करें। परीक्षण के शीर्ष पर जाने के लिए "जीजी" टाइप करें फिर वीजी टाइप करें।


13
2017-12-29 12:47





gg"+yG

या

gg"*yG

इस पर निर्भर करता है कि + या * सिस्टम क्लिपबोर्ड है या नहीं। (कई यूनिक्स पर, + माउस-माउस-क्लिकिंग के लिए माउस चयन बफर है, और * सिस्टम क्लिपबोर्ड है)।


6
2017-12-30 19:19



मुझे लगता है कि यह चारों ओर एक और तरीका है: "* चयन है और" + क्लिपबोर्ड है। vimdoc.sourceforge.net/htmldoc/gui_x11.html#x11-selection - Mikel
आप सही हे। मैं भी उसे जानता था, लेकिन गलत बात टाइप की। - frabjous


मैं CentOS-7 वातावरण में विम 7.4 का उपयोग कर रहा हूं। जिसने मुझे सभी पाठों का चयन करने के लिए काम किया है

:%y

फिर बस p अगली फाइल में जहां मैं एक पूर्ण प्रतिलिपि चाहता हूं।

या 

आप बिल्ली कमांड का उपयोग कर सकते हैं।

cat copyfile > pastefile

यह गिट रेपो कुछ अन्य उपयोगी आदेश भी है।


4
2017-07-17 04:07





मैक के लिए, पीबीसीपी (पेस्टबोर्ड कॉपी) का उपयोग करें:

cat file.txt | pbcopy

File.txt की सामग्री अब किसी अन्य एप्लिकेशन (जैसे ब्राउज़र) में पेस्ट करने के लिए क्लिपबोर्ड पर हैं।

आप क्लिपबोर्ड की सामग्री को पीबीपीस्ट का उपयोग कर फ़ाइल में पेस्ट भी कर सकते हैं:

pbpaste > file.txt

हालांकि इसमें वीआई शामिल नहीं है, विशेष रूप से यह मैक पर एक ही लक्ष्य प्राप्त करता है।


3
2018-01-08 19:05