वाह से बाहरी प्रोग्राम में टेक्स्ट कैसे कॉपी करें?


84

मैं कुछ पाठ को कॉपी-पेस्ट करने की कोशिश कर रहा हूं। मैं कर रहा हूँ v दृश्य मोड में प्रवेश करने, तो y एक बार मैं अपने ब्लॉक का चयन किया।

यह पाठ को विम के क्लिपबोर्ड में कॉपी करता प्रतीत होता है, क्योंकि p इसे पेस्ट करेगा। लेकिन दूसरे प्रोग्राम में (जैसे क्रोम), राइट-क्लिक-> पेस्ट सही टेक्स्ट पेस्ट नहीं करता है। मैं टेक्स्ट को सही क्लिपबोर्ड पर कैसे कॉपी करूं?

जवाबों:


62

निम्नलिखित केवल तभी काम करेगा vim --versionजब आपके पास यह इंगित हो कि आपके पास +xterm_clipboardसुविधा है। यदि नहीं, तो आपको अतिरिक्त पैकेज या recompile vim को उस सुविधा के साथ जोड़ना होगा।


इसके लिए वास्तव में दो विकल्प हैं:

"+y

"सामान्य" क्लिपबोर्ड बफर को कॉपी करें (ताकि आप Ctrl + V का उपयोग करके पेस्ट कर सकें, राइट क्लिक करें और "पेस्ट" आदि का चयन करें, जबकि

"*y

X11 चयन की प्रतियां - आप मध्य क्लिक का उपयोग करके इस बफर से पेस्ट कर सकते हैं।

ध्यान दें "*और "+दोनों तरीकों से काम करें। इसलिए यदि आपने किसी अन्य एप्लिकेशन में कुछ पाठ का चयन किया है, तो आप इसका उपयोग करके vim में पेस्ट कर सकते हैं "*pऔर यदि आपने कुछ पाठ (का उपयोग करते हुए, Ctrl-C) की प्रतिलिपि बनाई है, तो आप इसका उपयोग करके विम में पेस्ट कर सकते हैं "+p


@Tshepang यह पोटीन से काम नहीं कर रहा है। मुझे क्या करना चाहिए ?
राहुल पाटिल

@RahulPatil मुझे नहीं पता; शायद एक अलग सवाल पूछें, शायद सुपर उपयोगकर्ता पर (क्योंकि यह एक विंडोज टूल है, यह वहां अधिक स्वागत होगा)।
tshepang

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

1
सभी को नमस्कार, "+ y टाइप कैसे करें? क्या मुझे इसे विज़ुअल मोड में या कमांड मोड में टाइप करना चाहिए? मूर्खतापूर्ण बात, लेकिन मैं इसका पता नहीं लगा
पा रहा हूं

@AlindBillore: कमांड मोड में। सचमुच, कुंजियाँ दबाएँ shift'तो shift=तब y(सभी नहीं एक ही बार में, एक के बाद एक, निश्चित रूप से बदलाव को छोड़कर)।
रीड

31

यदि आप vim = = 7.3.74 का उपयोग कर रहे हैं, तो आप वास्तव में इसे अपने vimrc में डाल सकते हैं:

set clipboard=unnamedplus

जो +डिफ़ॉल्ट रूप से बफर (सिस्टम क्लिपबोर्ड) का स्वचालित रूप से उपयोग करेगा । फिर yank (copy) के लिए, आप बस नियमित yकमांड आदि का उपयोग करें ।

मुझे यह व्यवहार काफी कष्टप्रद लगा, हालाँकि, कमांड के रूप dमें पाठ को वे डिफ़ॉल्ट बफर में संचालित करते हैं, जिसका अर्थ है कि मैं एक तेज़ नहीं कर सकता था ddऔर उदाहरण के लिए, इंटरनेट से एक पंक्ति पेस्ट कर सकता था।


2
+ क्लिपबोर्ड रजिस्ट्रार है
किट हो

1
अपने अंतिम बिंदु के बारे में, का ddअर्थ है "एक पंक्ति में कटौती", ताकि अपेक्षित व्यवहार हो। दुर्लभ मामले में जब आप वास्तव में गुमनामी में एक रेखा को हटाना चाहते हैं, "_ddतो चाल चलेगी।
user7089

अपने उत्तर में @ HamishDowner नोट के रूप में भी: निम्नलिखित केवल तभी काम करेगा vim --versionजब आपके पास यह सूचित हो कि आपके पास +xterm_clipboardसुविधा है। यदि नहीं, तो आपको अतिरिक्त पैकेज या recompile vim को उस सुविधा के साथ जोड़ना होगा।
रुडोल्फ

24

शिफ्ट कुंजी दबाए रखें और माउस कर्सर के साथ पाठ का चयन करें।
टेक्स्ट को क्लिपबोर्ड पर कॉपी किया जाएगा।

यह भी चिपकाने के लिए काम करता है से vim करने के लिए क्लिपबोर्ड।

स्पष्ट होने के लिए, यह vimटर्मिनल में चलने के लिए काम करता है जैसे कि xterm


क्या आप पाठ का चयन करते समय शिफ्ट कुंजी को दबाए रखते हैं? इस तरह से मैं इसके साथ करता हूं xterm
नोज़ीमिका

@ नोज़ीमिका: हाँ।
लूप स्पेस

इस उत्तर में अधिक उत्थान होना चाहिए ...
व्हेन ओक्टन

मल्टीलाइन चयनों के लिए @ लूपस्पेस set nuसक्षम होने पर भी लाइन नंबरों की नकल करेगा । तो यू शायद कुछ शॉर्टकट के साथ लाइन नंबरों को टॉगल करना चाहेगा या :set nonuहर चयन से पहले कमांड को
चलाएगा

मैक पर विकल्प कुंजी दबाए रखें और माउस कर्सर
abreschi

10

मुझे मानक "+gPऔर "+yकमांड का उपयोग करना बहुत मुश्किल लगता है। तो मैं Ctrl-Yक्लिपबोर्ड में yanking के लिए और क्लिपबोर्ड Ctrl-Pसे चिपकाने के लिए रीमैप किया गया हूं । इसमें जोड़ें.vimrc

nnoremap <C-y> "+y
vnoremap <C-y> "+y
nnoremap <C-p> "+gP
vnoremap <C-p> "+gP

5

कोई बात नहीं, मुझे जवाब मिला - यह विम के मेन्यू पर लिखा गया है।

"+y

बहुत सहज।


क्या आप उपयोग कर रहे हैं gvim?
नोज़ीमिका

@ nozimica- हाँ
ripper234

1
यह भी एक्स के तहत एक xterm या इसी तरह के टर्मिनल एमुलेटर में चल रहे विम में उपलब्ध है (यदि विम +xterm_clipboardफीचर के साथ संकलित है )।
गिल्स

3

बस एक गैर-विम-विशिष्ट उत्तर जोड़ने के लिए: आप Ctrl+Shift+Cउबंटू में सिस्टम क्लिपबोर्ड पर कॉपी करने के लिए उपयोग कर सकते हैं (यदि कार्यक्षमता आपके टर्मिनल एमुलेटर द्वारा प्रदान की जाती है, तो एक के लिए सूक्ति-टर्मिनल प्रदान करता है)। Ctrl+Shift+Vएक अन्य टर्मिनल विंडो में Ctrl+Vचिपकाता है, एक GUI ऐप में नियमित चिपकाता है।

इसके अतिरिक्त, यदि आप टर्मिनल में पाठ का चयन करते हैं, तो मध्य-क्लिक करें, इसे X11 क्लिपबोर्ड से चिपकाया जाएगा।


किसी कारण से यह काम नहीं करता है। बस दृश्य मोड के साथ चयन करें, ctrl-shift-C के साथ कॉपी करें, फिर Ctrl-Shift-V का उपयोग करके किसी अन्य ऐप में पेस्ट करें? पाठ मेरे लिए कॉपी नहीं किया गया है।
ripper234

2
@ ripper234: यदि आप gvim का उपयोग कर रहे हैं तो यह काम नहीं करता है। जैसा कि Crazy2be ने कहा, यह कार्यक्षमता आपके टर्मिनल एमुलेटर से है।
रीड

@ ripper234: 1) यह आपके टर्मिनल एमुलेटर द्वारा प्रदान की गई कार्यक्षमता है (एक प्रदान करने के लिए सूक्ति-टर्मिनल), 2) Ctrl + Shift + V टर्मिनल पर पेस्ट करना है , GUI ऐप्स अभी भी हमेशा की तरह Ctrl + V का उपयोग करते हैं। मैं इसका उत्तर स्पष्ट करने के लिए संपादन करूँगा।
mad2be

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

2

डिफ़ॉल्ट रूप से, यदि आप विम के प्रकाश संस्करण को स्थापित करते हैं, तो आपके पास +xterm_clipboard( vim --version | grep xterm) पर सुविधा नहीं होगी , जो विम के बाहर *और +रजिस्टरों का उपयोग करने के लिए आवश्यक है ।

इसे सक्षम करने के लिए, आपको या तो अपने आप को कंपाइल करना होगा, या विम के एक संस्करण को स्थापित करना होगा जो इसके साथ आता है। मैंने vim-gnome का उपयोग किया sudo apt-get install vim-gnome:। यदि आप प्रदर्शन करते हैं vim --version | grep xterm, तो आप देखेंगे कि यह अब है +xterm_clipboard

अब, के लिए कॉपी करके +और *और यह काम करना चाहिए।


2

जब मैंने जाँच की कि मेरा विम क्लिपबोर्ड का समर्थन नहीं कर रहा है:

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 का उपयोग करके कॉपी और पेस्ट करने में सक्षम हूं।


1

SHIFT कुंजी दबाए रखें और इसे कॉपी करने के लिए माउस का चयन करें।

फिर अन्य प्रोग्राम में पेस्ट करें CTRL + v

मेरे Ubuntu 16.04 पर टर्मिनल में काम करता है। gvimऔर अन्य प्रणालियों के बारे में निश्चित नहीं है ।

यहाँ छवि विवरण दर्ज करें


वह काम नहीं करता।
एस्ट्रिड

रचनात्मक जवाब
विदुर

0

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

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