Vim में Ctrl + तीरों को कैसे ठीक करें?


26

मैं Putty -> Suse box -> vim 7.2संपादन के लिए कॉम्बो का उपयोग कर रहा हूं और एक विशेष कार्य के लिए Ctrl + एरो कॉम्बो को फिर से तैयार करना चाहता हूं। लेकिन किसी कारण से, विम शॉर्टकट को अनदेखा करता है और "C" (दाएं के लिए) के "मोड" और सम्मिलित वर्ण "D" (बाईं ओर) सम्मिलित करता है।

मेरे कीबोर्ड / टर्मिनल कॉन्फ़िगरेशन के किस हिस्से को दोष देना है और इसे कैसे ठीक करना है?


PuTTY नियंत्रण-तीर के लिए उपयोगी-विशिष्ट अनुक्रम नहीं भेजता है। सुझाए गए उत्तरों में से कोई भी सही (या उपयोगी) नहीं है।
थॉमस डिके

जवाबों:


27

यह जानें कि आपके टर्मिनल से Ctrl+ एरो टाइप करने के लिए आपका टर्मिनल किस एवरेज सीक्वेंस को भेजता है Ctrl+ V, Ctrl+ इनक्रीज मोड में एरो: यह लीडिंग ESCकैरेक्टर (जैसा ^[कि vim में दिखाया गया है) को शाब्दिक रूप से डालेगा, उसके बाद बाकी बची हुई सीक्वेंस। फिर कुछ के साथ इन एस्केप दृश्यों के बारे में विम को बताएं

map <ESC>[5D <C-Left>
map <ESC>[5C <C-Right>
map! <ESC>[5D <C-Left>
map! <ESC>[5C <C-Right>

मुझे याद है कि पुट्टी में अनुप्रयोग कर्सर कुंजी मोड के लिए एक डिफ़ॉल्ट सेटिंग है जो असुविधाजनक है (मैं क्यों भूल जाता हूं), आप पहले इस सेटिंग को चालू करना चाहते हैं।

ध्यान दें कि हालांकि एस्केप सीक्वेंस टर्मिनलों के बीच भिन्न होते हैं, टकराव (यानी एक एस्केप सीक्वेंस जो विभिन्न टर्मिनलों में अलग-अलग कुंजी से मेल खाती है) दुर्लभ हैं, इसलिए केवल विशेष टर्मिनल प्रकार पर मैपिंग को लागू करने की कोशिश करने की कोई विशेष आवश्यकता नहीं है।


मैं कैसे बताऊं कि भागने का क्रम क्या भेजा जाता है?
एलेक्स बी।

@ एलेक्स: मैंने अपना स्पष्टीकरण स्पष्ट करने की कोशिश की है, अगर आपको अभी भी मेरा पहला वाक्य समझ में नहीं आया है, तो शिकायत करें।
गिल्स एसओ- बुराई को रोकें '

आप रन भी कर सकते हैं od -aया od -cयदि आप अष्टकोण खोदते हैं और फिर प्रश्न में चाबियाँ टाइप करते हैं। एक उदाहरण के लिए मेरे जवाब में "जोड़ा" देखें।
msw

इस प्रश्न के इतनी देर से वापस आने के लिए क्षमा करें, लेकिन मुझे लगा है कि पुत्तर अभी भी टर्मिनल पर एप्लिकेशन कर्सर कुंजी भेजता है, भले ही मैं इसे पूरी तरह से बंद कर दूं । मैं एक नुकसान में हूं कि इसे दूर करने के लिए मुझे और क्या करना चाहिए।
एलेक्स बी

@ एलेक्स: आपको इसे दूर करने की आवश्यकता नहीं है, आप अपने अनुप्रयोगों को उनके बारे में बता सकते हैं (जो मैंने कम से कम प्रतिरोध का मार्ग पाया है)। या आप एक विकल्प जैसे कि मिनिटेट प्लस साइगविन ssh (लेकिन इस साइट के लिए ऑफ-टॉपिक प्राप्त कर रहे हैं) द्वारा PuTTY को बदल सकते हैं।
गाइल्स का SO- बुराई पर रोक '23

7

आपका सबसे अच्छा शर्त शायद PuTTY के अनुप्रयोग कर्सर कुंजी मोड कॉन्फ़िगरेशन को देखना है।

डिफ़ॉल्ट अनुक्रम ESCएक उपसर्ग के रूप में भेजते हैं और [उसके बाद Append या हैंग Cया अन्य चीजों को सम्मिलित मोड में फेंक देते हैं।

जोड़ा, गाइल्स के बाद

^ V एस्केप का थोड़ा और स्पष्ट संस्करण od (1) के साथ देखा जा सकता है। यहां मुझे अपने टर्मिनल पर ^ अप, ^ डाउन, ^ राइट, ^ लेफ्ट टाइप करना है:

$ od -a
0000000 esc   [   1   ;   5   A esc   [   1   ;   5   B esc   [   1   ;
0000020   5   C esc   [   1   ;   5   D

तो मेरा टर्मिनल ^[[1;5Aतब भेजता है जब मैं Ctrl+ दबाता हूं


अनुप्रयोग कर्सर कुंजी मोड को बंद करने से मदद नहीं लगती है।
एलेक्स बी।

2

मुझे यहाँ एक बेहतर समाधान मिला: http://vim.wikia.com/wiki/Fix_arrow_keys_that_display_A_B_C_D_on_remote_shell

इस स्ट्रिंग को अपनी .vimrcफ़ाइल में रखें:

:set term=cons25

अद्यतन करें

इस फ़ाइल को अपने /homeनाम से कॉपी करें , इसका नाम बदलकर .vimrc:

/usr/share/vim/vim_VERSION_/vimrc_example.vim

यह कुछ अजीब चार व्यवहार बनाता है।
थिबॉल्ट

0

मेरे और अन्य विम कीबोर्ड की समस्याओं के लिए मैं बस यही करता हूं

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