मैंने vi संपादक दस्तावेज़ में सामग्री चिपकाने के लिए Ctrl+ का उपयोग करने की कोशिश की V, लेकिन Ctrl+ Vको एक पेस्ट के रूप में व्याख्या नहीं की गई है।
मैंने vi संपादक दस्तावेज़ में सामग्री चिपकाने के लिए Ctrl+ का उपयोग करने की कोशिश की V, लेकिन Ctrl+ Vको एक पेस्ट के रूप में व्याख्या नहीं की गई है।
जवाबों:
पहले, सुनिश्चित करें कि आप संपादन मोड (प्रेस i) में हैं। तब आप Ctrl+ Shift+ के साथ पेस्ट कर सकते हैं V, यदि आप टर्मिनल एमुलेटर में हैं gnome-terminal
(या राइट-क्लिक मेनू से "पेस्ट" चुनें)।
:set paste
स्वचालित इंडेंटिंग, आदि को अक्षम करने के लिए पेस्ट करने से पहले आप vim में भी टाइप कर सकते हैं :set nopaste
।
यह भी जांच इस सवाल का अधिक जानकारी के लिए पर stackoverflow.com।
यदि आप vim
(क्लिपबोर्ड सामग्री को चिपकाने के विपरीत) लाइनों को कॉपी / पेस्ट करना चाहते हैं, तो आप yank कमांड को देखना चाहेंगे । यहाँ एक धोखा पत्रक है जो मदद कर सकता है।
I
केस-संवेदी है। लोअरकेस i
डालने मोड में प्रवेश करने का सामान्य तरीका है। कैपिटल I
लाइन की शुरुआत में कर्सर लाता है और फिर आपको इन्सर्ट मोड में प्रवेश करता है।
वीएडी (और वीआईएम) गेडिट जैसे सामान्य टेक्स्ट एडिटर की तुलना में बहुत अलग तरीके से काम करता है। यह भी एक बहुत खड़ी सीखने की अवस्था है। यदि आप कुछ बुनियादी कमांड सीखना चाहते हैं, तो इस इंटरैक्टिव ट्यूटोरियल से शुरुआत करें ।
हालांकि, आप सवाल का जवाब देने के लिए। सिस्टम क्लिपबोर्ड की सामग्री को प्लस रजिस्टर के माध्यम से एक्सेस किया जा सकता है। तो आप सामान्य क्लिप से सिस्टम क्लिपबोर्ड से कुछ पेस्ट करने के लिए दबा सकते हैं: "+p(एक ही समय में, लेकिन एक के बाद एक)।
vi
नहीं करताvim
set :paste
)।
यदि आप एक ही फ़ाइल के भीतर पेस्ट सामग्री को कॉपी करना चाहते हैं , तो उपयोग करें yank
और paste
।
यदि आप टर्मिनलों पर पेस्ट सामग्री को कॉपी करना चाहते हैं, तो पहली फ़ाइल खोलें, जो टेक्स्ट आपको चाहिए, उसे yanking करें, फिर अपनी दूसरी फ़ाइल vim (उदा :tabnew /path/to/second/file
) के भीतर खोलें और p
इसे पेस्ट करने के लिए दबाएं ।
यदि आप किसी बाहरी प्रोग्राम से पेस्ट सामग्री को कॉपी करना चाहते हैं , तो आपको सिस्टम क्लिपबोर्ड तक पहुंचने की आवश्यकता है। मुझे लगता है कि आप उबंटू का उपयोग करते हैं। विम के GUI संस्करण में हमेशा क्लिपबोर्ड समर्थन होता है, हालांकि, यदि आप किसी टर्मिनल से विम का उपयोग करना पसंद करते हैं, तो आपको X11-क्लिपबोर्ड समर्थन की जांच करनी होगी।
कंसोल से टाइप करें:
$ vim --version | grep xterm
यदि आपको -xterm_clipboard मिलता है , तो आपके पास दो विकल्प हैं:
1) अपने आप को संकलित करें, xterm_clipboard ध्वज पर
2) इसके बजाय विम को अनइंस्टॉल करें, gvim (vim-gtk या vim-gnome) स्थापित करें । आप टर्मिनल से विम को कॉल करके नॉन-गिम विम से चिपके रह सकते हैं, उसी तरह जो आपने पहले किया था। इस बार जब आप जांचते हैं तो आपको + xterm_clipborad ढूंढना चाहिए ।
अब, जब आप अपने vim एडिटर के अंदर + रजिस्टर में कुछ टेक्स्ट यैंक करते हैं (जैसे "+ yy), तो यह सिस्टम क्लिपबोर्ड पर भी कॉपी हो जाता है जिसे आप gedit एडिटर की तरह अपने बाहरी प्रोग्राम से प्राप्त कर सकते हैं Ctrl+ का उपयोग करके V।
यदि आप किसी बाह्य प्रोग्राम से पेस्ट सामग्री को vim में कॉपी करना चाहते हैं , तो पहले अपने टेक्स्ट को सिस्टम क्लिपबोर्ड में Ctrl+ के माध्यम से कॉपी करें C, फिर vim एडिटर इंसर्ट मोड में , माउस मध्य बटन (आमतौर पर पहिया) पर क्लिक करें या पेस्ट करने के लिए Ctrl+ Shift+ दबाएं V।
ये विम से संबंधित 4 मूल कॉपी और पेस्ट स्थितियां हैं। आशा है कि ये आपकी मदद करेगा।
vim-gtk
में xterm_clipboard
समर्थन है और फेडोरा xvim
पर है।
मैं हमेशा Shift+ का उपयोग करता Insertहूं, जब मैं पाठ को टर्मिनल में चिपकाना चाहता हूं, सभी टर्मिनल कार्यक्रमों में काम करता है।
(यह भी कारण है कि मुझे कभी भी एक लैपटॉप नहीं मिलता है जहां आप Insertएक माध्यमिक कुंजी दबाए बिना नहीं दबा सकते हैं )
Vi
/ Vim
! = टर्मिनल;)
Ctrl+A
के लिए Ctrl+C
भी क्या उपयोग करते हैं ?
एक बार vi दर्ज i
करने के बाद, इन्सर्ट मोड में जाने के लिए दबाएँ , टर्मिनल में राइट क्लिक करें, पेस्ट पर क्लिक करें।
i
। ऊपरी मामला क्या करता I
है?
i
। अपर-केस I
कर्सर को इन्सर्ट मोड में प्रवेश करने से पहले लाइन की शुरुआत में ले जाता है, जिसकी यहाँ आवश्यकता नहीं है।
Vi का उपयोग करके yank
और में पाठ की पंक्तियों को कॉपी / पेस्ट करने के लिए विस्तृत निर्देशput
( vi के कमांड मोड में निम्नलिखित का उपयोग करें )
कॉपी (YANK)
Vi में एक पंक्ति की प्रतिलिपि बनाने के लिए:
yy
या टाइप करेंY
Vi में 2 लाइनें कॉपी करने के लिए:
2yy
या टाइप करें2Y
(इसी तरह, कितनी भी लाइनें कॉपी की जा सकती हैं)
वर्तमान स्थान से फ़ाइल के अंत तक सभी पंक्तियों को कॉपी करने के लिए:
yG
वर्तमान स्थान से वर्तमान शब्द के अंत तक सभी पाठ कॉपी करने के लिए:
yw
वर्तमान स्थान से पंक्ति के अंत तक सभी पाठ कॉपी करने के लिए:
y$
पेस्ट (PUT)
क्लिपबोर्ड में पाठ चिपकाने के लिए - कर्सर के स्थान के बाद :
p
क्लिपबोर्ड में टेक्स्ट पेस्ट करने के लिए - कर्सर के स्थान से पहले :
P
मेरे पास एक मुद्दा था, क्योंकि मेरी विम स्थापना क्लिपबोर्ड का समर्थन नहीं कर रही थी :
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
मैंने vim-gnome (जो क्लिपबोर्ड का समर्थन करता है) स्थापित किया और फिर दोबारा जाँच की:
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
अब मैं क्रमशः "+ y और" + p का उपयोग करके कॉपी और पेस्ट करने में सक्षम हूं।
लिनक्स या मैक पर विम 8+ के साथ, अब आप बस ओएस के मूल पेस्ट ( ctrl+shift+V
लिनक्स cmd+V
पर , मैक पर) का उपयोग कर सकते हैं । i
इन्सर्ट मोड के लिए प्रेस न करें।
यह आपके ओएस क्लिपबोर्ड की सामग्री को चिपकाएगा, ऑटोइंडेंटिंग को जोड़ने के बिना रिक्त स्थान और टैब को संरक्षित करना। यह पुराने के बराबर है :set paste
, i
, ctrl+shift+V
, esc
, :set nopaste
विधि।
अब आपको +clipboard
या +xterm_clipboard
वीम फीचर्स की जरूरत नहीं है। इस सुविधा को "ब्रैकेटेड पेस्ट" कहा जाता है। अधिक जानकारी के लिए, https://stackoverflow.com/questions/2514445/turning-off-auto-indent-when-pasting-text-into-vim/56781763#56786463 देखें
यदि आप जड़ हैं : Ctrl+ Shift+V
यदि आप रूट नहीं हैं : केंद्र माउस पर क्लिक करें।
मैं बस यह नोट करना चाहता था कि विंडोज पर जीआईटी बैश के माध्यम से विम का उपयोग करके, आप p
सम्मिलित मोड में बिना माउस के बस -क्लिक या उपयोग कर सकते हैं । के माध्यम से विम का उपयोग पुट्टी पर आप बिल्कुल सही क्लिक कर सकते हैं। और हाइलाइटिंग कॉपी करता है।
मैंने इसे नोट किया है क्योंकि मुझे यह देखकर नहीं मिला कि यह उबंटू के लिए एसई है।
अन्य सहायक आदेश:
आप इस्तेमाल कर सकते हैं Ctrl+ Shift+ Vटर्मिनल संस्करण vim में पेस्ट करने के लिए, लेकिन जीयूआई संस्करण vim के लिए की तरह Neovim-Qt
, सिस्टम क्लिपबोर्ड से चिपकाने पाठ के साथ Ctrl+ Shift+ Vबस काम नहीं करेगा। आपको क्लिपबोर्ड "+
या "*
विम एडिटर तक पहुंचना होगा ।
नई कीबाइंडिंग .vimrc
को बस कॉपी / पेस्ट कमांड्स में जोड़ना :
" paste from system clipboard, align indentation with surroundings
noremap <Leader>p "*]p:set nopaste<CR>
" copy a sentence into system clipboard
noremap <Leader>y "+y)
vimtutor
यह आपको लगभग 45 मिनट में आपके लिए उपयोग करने के लिए गति के लिए मिलेगा।