विंडोज पेस्ट के साथ VIM Ctrl-V संघर्ष


110

मैं Windows में VIM का उपयोग कर रहा हूं। समस्या यह है कि मैं CtrlVएक दृश्य विधा के रूप में उपयोग करना चाहता हूं । हालांकि, इस कुंजी में विंडोज पेस्ट के साथ संघर्ष है। मैं चिपकाने के बजाय इस कुंजी को वापस VIM दृश्य मोड में कैसे रीसेट कर सकता हूं। मैं अपनी _vimrc कॉन्फ़िगरेशन फ़ाइल में इसे सेट करना पसंद करता हूं।

जवाबों:


145

से विम प्रलेखन :

चूंकि CTRLVपेस्ट करने के लिए उपयोग किया जाता है, इसलिए आप इसका उपयोग ब्लॉक वाइज विज़ुअल चयन शुरू करने के लिए नहीं कर सकते हैं। आप CTRLQइसके बजाय उपयोग कर सकते हैं । आप CTRLQपुराने अर्थ को प्राप्त करने के लिए इन्सर्ट मोड और कमांड-लाइन मोड में भी उपयोग कर सकते हैं CTRLV। लेकिन CTRLQ जब यह नियंत्रण प्रवाह के लिए उपयोग किया जाता है तो टर्मिनलों के लिए काम नहीं करता है।


2
मुझे _vimrc से फ़िडलिंग करने से बेहतर यह पसंद है। यह तुरंत काम करता है और जब से मैं भविष्य में सीरियल टर्मिनलों पर होने की संभावना नहीं हूं, Ctrl-S / Ctrl-Q प्रवाह नियंत्रण एक गैर-समस्या है।
माइकल डिलन

लिनक्स (ग्नोम टर्मिनल) पर मुझे CTRL-K CR का उपयोग करना बेहतर लगा , लेकिन मुझे यह उत्तर पहले मिला।
जलानब

3
किसी कारण से मुझे Shiftविंडोज पर दृश्य चयन के लिए कुंजी का उपयोग करने की आवश्यकता थी , जबकि मैं लिनक्स पर नहीं हूं।
स्टीवेस्लिवा

1
धन्यवाद user132014! मुझे लगता है कि आपको Ctrl, Q का उपयोग करके दृश्य ब्लॉक मोड में नेविगेट करने के लिए h, j, k और l का उपयोग करना होगा। यह विंडोज के लिए जीवीएम संपादक के लिए मामला है। Ctrl-Q का उपयोग करते हुए दृश्य ब्लॉक मोड में नेविगेट करने पर तीर विंडोज के लिए gVim में मेरे लिए काम नहीं करता है।
रत्नेश चंदना

3
@ रत्नेशचंदना - तीर Shiftके साथ प्रयोग ? मैं उसी व्यवहार को देख रहा हूं, लेकिन किसी तरह पता चला कि Shiftकाम किया है। मुझे पता नहीं था कि h / j / k / l ने काम किया है।
स्टीवेस्लिवा

40

अपनी _vimrc फ़ाइल देखें और देखें कि क्या यह mswin.vim का स्रोत है। वह स्क्रिप्ट ^ v से पेस्ट में मैप करती है। आप या तो अपनी _vimrc फ़ाइल पर उस लाइन को हटा सकते हैं या मैपिंग कमांड को सीधे mswin.vim पर अक्षम कर सकते हैं।

अधिक जानकारी के लिए विम पर व्यवहार करने में मदद करें।


24

यूनिक्स की तरह काम करने वाले विजुअल मोड (और अन्य सामान) के लिए जेओपी और विंडोज प्रोग्रामर दोनों के सुझावों की आवश्यकता होती है।

विंडोज पर जीवीएम में, संपादन मेनू पर जाएं, स्टार्टअप सेटिंग्स पर क्लिक करें, और विंडोज़-विशिष्ट कचरा (vimrc टिप्पणी चरित्र का उपयोग करके टिप्पणी करें, जो एक दोहरे उद्धरण है)। Mswin.vim फ़ाइल वह जगह है जहाँ ctrl- vओवरराइड निर्दिष्ट किया गया है, और व्यवहार करने वाला mswin विकल्प इसे बनाता है ताकि तीर कुंजियाँ केवल गति लागू न करें जैसे आप अपेक्षा करेंगे (यह माउस चयन व्यवहार भी बदलता है)।

"source $VIMRUNTIME/mswin.vim
"behave mswin

मैं वहां एक ब्लैक-बैकग्राउंड कलकेम जोड़ना चाहता हूं, इसलिए यह वैसा ही दिखता है जैसा मैं एक टर्मिनल में देखता हूं (और क्योंकि एक हल्का बैकग्राउंड कागज पर बहुत अच्छा है, लेकिन बैकलिट स्क्रीन पर भयानक है): colorscheme koehler



14

मैं हर जगह एक ही कीस्ट्रोक्स पसंद करता हूं इसलिए मैं अपने .vimrc में mswin.vim को ओवरराइड करने के लिए इसका उपयोग करता हूं:

if has('win32')
  " Avoid mswin.vim making Ctrl-v act as paste
  noremap <C-V> <C-V>
endif

7

मुझे यकीन नहीं है कि आप इसके बारे में बहुत कुछ कर सकते हैं। आप CtrlQइसके बजाय उपयोग कर सकते हैं ।


4

Jop की सलाह का संयोजन (डिफ़ॉल्ट _vimrc फ़ाइल में mswin.vim की तलाश में) और "विंडोज प्रोग्रामर की" सलाह ("व्यवहार करने वाले mswin" लाइन से छुटकारा पाना) मेरे लिए एक आकर्षण की तरह काम करता है।

(मेरा प्रतिनिधि उन्हें वोट देने या उन्हें गठबंधन करने के लिए बहुत कम है - कोई मेरे लिए इसे साफ करे, या मेरा प्रतिनिधि अधिक होने पर मैं वापस आऊंगा)


3
दूसरे शब्दों में, क्या आप एक टिप्पणी छोड़ने की कोशिश कर रहे थे?
क्रिस्टोफर बॉटम्स

1
हे, मैं एक अपरिपक्व स्टैकओवरफ़्लो उपयोगकर्ता हूं (इसलिए मेरी कम प्रतिष्ठा)
रिक रेनॉल्ड्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.