जब माउस (: सेट माउस = ए) चालू हो तो विम के लिए कॉपी-पेस्ट काम नहीं कर रहा है?


52

मैं कुछ एप्लिकेशन को vim से दूसरे एप्लिकेशन में कॉपी करने की कोशिश कर रहा था और उस एप्लिकेशन से vimमाउस के साथ राइट क्लिक का उपयोग कर रहा था और फिर कॉपी और पेस्ट (या Ctrl+ vऔर Ctrl+ के साथ और मैक OSX के लिए संस्करण cकी भी कोशिश की Command, जाहिर है।)। हालाँकि, जब मैं इसे करने की कोशिश करता हूं, तो यह केवल पहले शब्द को कॉपी करता है जब मैं इसे करता हूं vimया जब मैं एप्लिकेशन से कॉपी करता हूं vim, तो यह सब कुछ कॉपी करता है, लेकिन अजीब टैब और स्थान सम्मिलित करता है। मुझे लगता है कि यह तब हुआ जब मैंने टर्मिनल पर अपना माउस सेट करने का फैसला किया। जैसे की:

:set mouse=a

मैं .vimrciTerm (मैक ओएस एक्स) पर अपनी फ़ाइल पर वह लाइन है । हालाँकि, क्या यह संभव है कि मेरी कॉपी पेस्ट अन्य अनुप्रयोगों के vimसाथ हो जो mouse=aऑन के साथ टूटने के लिए नहीं हैं ? या क्या मैं कॉपी पेस्ट करते समय अपने माउस को सेट करना कम से कम संभव है? मैंने :helpमाउस किया लेकिन टिप्पणियां मेरे लिए उपयोगी नहीं थीं। मैं उन्हें यहाँ पेस्ट करूँगा लेकिन ... मेरा कॉपी पेस्ट टूल टूट गया है!

मैंने कोशिश की :set mouse!और :set mouse=a!ये उपयोगी नहीं थे ... :(


मेरे पर्यावरण की अतिरिक्त जानकारी:

मैं भी ज्यादातर समय tmux का उपयोग कर रहा हूँ, हालाँकि, मैंने इस त्रुटि / बग को tmux सत्र के बिना परीक्षण किया है, इसलिए मैंने इसे मुख्य रूप से एक vim प्रश्न के रूप में पोस्ट किया है।


4
मैं आपको बता सकता हूं कि क्रिया vimका उपयोग करके प्राथमिक चयन के लिए हां करने में सक्षम है y। मुझे नहीं पता कि आप सिर्फ इसका उपयोग क्यों नहीं करेंगे।
हालोसगॉस्ट

1
मैं ऐसा नहीं करूंगा क्योंकि मुझे नहीं पता कि मैं ऐसा कैसे करूं जो मुझे लगता है कि मेरी अक्षमता के लिए माफी माँगता हूँ। मुझे यह भी नहीं पता था कि जब तक आपने इसका उल्लेख नहीं किया था, तब तक अस्तित्व में था। कृपया अपना ज्ञान साझा करें! :)
पिनोचियो


नहीं, यह इसका सिर्फ iTerm नहीं है (जैसा कि मैंने प्रश्न पर उल्लेख किया है, लेकिन अच्छा प्रश्न हालांकि)।
पिनोचियो

जवाबों:


66

mouse=a पढ़ने योग्य वर्णों के साथ नकल करने और बाहर निकालने की क्षमता को रोकता है।

इसमें परिवर्तन mouse=aकरें mouse=rऔर इससे आपकी समस्या ठीक होनी चाहिए।

एक बात जो मैं सोच रहा हूँ, क्या आप माउस के साथ माउस सेट के लिए अपने फ़ाइल के लिए config फाइल को बदल रहे हैं = a?

orignal उत्तर ^

यदि mouse=rआप सभी को कॉपी नहीं करते हैं तो पिछले सभी विकल्प इसे बदल देते हैंmouse=v

दोनों mouse=rऔर आपके mouse=vपास समान कार्य हैं जिनकी आपको आवश्यकता है, लेकिन आप जिस vimrc का उपयोग कर रहे हैं उसके आधार पर आप एक और बेहतर काम करेंगे।


आपने पाठ को हाइलाइट करने का प्रयास किया है और दूसरी जगह पर जाने के लिए आप माउस मध्य बटन का उपयोग करते हैं। जब Ctrl + v और Ctrl + c
bgrif

मुझे नहीं पता कि आपके प्रश्न का क्या अर्थ है: one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?मेरा मतलब है अगर मेरे पास :mouse=aमेरी .vimrc फाइल है? मैं :mouse=aअपने .vimrc फ़ाइल फ़ाइल में है।
पिनोचियो

1
बस --with-x=yes? मुझे :set --with-x=yes mouse=aकुछ डालने की जरूरत नहीं है? क्या आप स्पष्ट कर सकते हैं कि आपका क्या मतलब है?
पिनोच्चियो

1
यदि आप से गठबंधन --with-x=yesकरने की आवश्यकता है, तो मुझे अनुसंधान करने दें set mouse=a। जब मैं इसे पढ़ रहा था, तो मैंने देखा कि यह विन्यास फाइल में ही था। लेकिन यह अलग हो सकता है इसलिए मैं यह सुनिश्चित करना चाहता हूं कि मैं आपको सही बात बताऊं जो आपके लिए काम करेगी।
15 सितंबर को 15

1
बहुत बहुत धन्यवाद, यह सुझाव माउस = v
पामुंगकास जयुदा

21

ओएस एक्स उपयोगकर्ताओं के लिए: पाठ को अलग करने के बजाय mouse=aउपयोग के साथ पेस्ट कॉपी करना । फिर और उम्मीद के मुताबिक काम करें।altShiftcmd-ccmd-v

यह जवाब यहाँ मिला था https://stackoverflow.com/a/4608387/671639 काफी गुगली करने के बाद।


आप भगवान हैं ......: ')
omerjerk

केवल एक चीज जो मेरे लिए काम करती है, धन्यवाद!
डॉन

3
मेरे लिए OSX "शिफ्ट" या "अल्ट" के बजाय "fn" काम करता है।
ssasa

8

से https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387

माउस के साथ चयन करते समय 'शिफ्ट' कुंजी दबाएँ। यह माउस चयन को ऐसे व्यवहार करेगा जैसे कि माउस = सक्षम नहीं था।

यह काम करता है और स्टैक-ओवरफ्लो के समीक्षकों द्वारा सत्यापित किया गया है जिन्होंने इसे उत्तर के रूप में स्वीकार किया है :)


6

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

माउस के साथ भी ऐसा करने का एक तरीका = एकV कर्सर का उपयोग करके दृश्य मोड का उपयोग करके या पूरी लाइन हाइलाइट के लिए Shift+ V, और आप तीर के साथ ऊपर या नीचे जा सकते हैं और Yकॉपी या Dकट करने के लिए उपयोग कर सकते हैं और यह काम करना चाहिए।


@ एंथन, करेंगे, स्पष्टीकरण के लिए धन्यवाद।
amrx

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

5

एक ही समस्या थी: माउस का उपयोग करके हाइलाइट नहीं किया जा सकता था इसलिए वीआईएम से एक टर्मिनल सत्र में विंडोज दस्तावेज़ और ब्राउज़र पर कॉपी और पेस्ट नहीं किया जा सकता था: क्या निम्नलिखित किया गया था और अब यह काम करता है:

: set clipboard=unnamedplus
: set mouse=r

4

देखें: http://vimdoc.sourceforge.net/htmldoc/options.html

संदर्भ के निचले भाग पर नोट अनुभाग देखें:
माउस को सक्षम करते समय, माउस बटन अभी भी शिफ्ट की दबाकर रखा जा सकता है। इसमें माउस बटन का उपयोग करके कॉपी पेस्ट शामिल है।

*'mouse'* *E538*
'mouse'         string  (default "", "a" for GUI, MS-DOS and Win32)
            global
            {not in Vi}
    Enable the use of the mouse.  Only works for certain terminals
    (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, *BSD console with
    sysmouse and Linux console with gpm).  For using the mouse in the
    GUI, see |gui-mouse|.
    The mouse can be enabled for different modes:
        n   Normal mode
        v   Visual mode
        i   Insert mode
        c   Command-line mode
        h   all previous modes when editing a help file
        a   all previous modes
        r   for |hit-enter| and |more-prompt| prompt
    Normally you would enable the mouse in all four modes with:
        :set mouse=a
    When the mouse is not enabled, the GUI will still use the mouse for
    modeless selection.  This doesn't move the text cursor.

    See |mouse-using|.  Also see |'clipboard'|.

    Note: When enabling the mouse in a terminal, copy/paste will use the
    "* register if there is access to an X-server.  The xterm handling of
    the mouse buttons can still be used by keeping the shift key pressed.
    Also see the 'clipboard' option.

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

0

आपके प्रश्न के दूसरे भाग के रूप में, जहाँ आपने यह निर्दिष्ट किया था कि जब अन्य अनुप्रयोगों से विमोचन करते समय यह टैब / स्थान जोड़ता है। सामान्य मोड प्रेस "शिफ्ट" + ":" और "टाइप पेस्ट" टाइप करने से पहले इसे अपने ~ / .vimrc सेट पेस्ट या विम में जोड़ने की कोशिश करें।


0

आप yकॉपी (यैंक) और pयहां तक ​​कि :set mouse=aसेट के साथ पेस्ट करने के लिए उपयोग कर सकते हैं ~/.vimrc। पाठ को हाइलाइट करने के लिए v+ arrow keysका उपयोग करें । एक पूरी लाइन को जल्दी से कॉपी करने के लिए, shift+ का उपयोग करें y


0

मेरे मैक पर, उन दो चीजों में क्या मदद मिली:

  • : सेट माउस- = ए
  • fn + क्लिक (शिफ्ट या ऑल्ट के बजाय)

0

यदि आप वास्तव में किसी अतिरिक्त क्लिपबोर्ड बफ़र्स की आवश्यकता नहीं करते हैं, तो सिस्टम क्लिपबोर्ड में ~/.vimrcसभी अच्छी विशेषताओं का उपयोग करने gui-mouseऔर पेस्ट करने के लिए इन दो लाइनों का उपयोग करें।y

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