पता लगाएँ कि क्या एक कुंजी विम में कुछ करने के लिए बाध्य है


89

मैं जानना चाहता हूं कि क्या कोई तरीका है अगर कोई कुंजी कुछ भी करता है। मुझे पता है कि मैं :mapउपयोगकर्ता-परिभाषित मैपिंग देखने के लिए उपयोग कर सकता हूं , लेकिन क्या अंतर्निहित सामान के लिए कुछ है?

उदाहरण के लिए, मेरे पास हमेशा था CTRL- Wक्लोज़ टैब के लिए बाध्य, क्योंकि मुझे लगा कि यह अप्रयुक्त था। आधे साल के बाद, मुझे पता चला कि कुछ अनुक्रम हैं जो इसका उपयोग करते हैं, जैसे CTRL- W CTRL- Sखिड़की को विभाजित करने के लिए, और यह अपने आप को पीछे हटाना एक दुःस्वप्न था।


4
उपयोगकर्ता द्वारा परिभाषित मैपिंग के आकस्मिक टकराव की बात करते हुए, यह वास्तव में मेपलर
derenio

जवाबों:


79

यदि आप रैंडी मॉरिस द्वारा सुझाए गए उत्तर की जांच करते हैं, तो आप पाएंगे

:help index 

आपको वह सूची देगा जो आप चाहते हैं।


बहुत उपयोगी! यह जानने के लिए अच्छा है कि आप एक जगह देख सकते हैं यदि आप बस कुछ नया सीखने के लिए
इधर

40

डिफ़ॉल्ट मैपिंग की जाँच करने के लिए:

:help index

अन्य मानचित्रण के लिए जो उपयोगकर्ताओं या प्लगइन द्वारा किया जाता है:

:map
:map!

से http://vim.wikia.com/wiki/Mapping_keys_in_Vim_- ट्यूटोरियल (Part_1) :

पहला कमांड उन मैप्स को प्रदर्शित करता है जो सामान्य, दृश्य और चुनिंदा और लंबित मोड में काम करते हैं। दूसरा कमांड उन नक्शे को प्रदर्शित करता है जो इन्सर्ट और कमांड-लाइन मोड में काम करते हैं।

आमतौर पर उपरोक्त आदेशों का उत्पादन कई पृष्ठों में होगा। आप vim_maps.txt फ़ाइल में आउटपुट को पुनर्निर्देशित करने के लिए निम्न सेट का उपयोग कर सकते हैं:

:redir! > vim_maps.txt
:map
:map!
:redir END

जब तक विम के नए संस्करण अचानक एक बेहतर विकल्प प्रदान नहीं करते हैं, यह शामिल और कस्टम कीमैप दोनों को खोजने का एकमात्र तरीका लगता है। mapcheck(जैसा कि एक अन्य उत्तर में बताया गया है ) केवल कस्टम कीबाइंड को ही कवर करता है। टेक्स्ट फ़ाइल और मैपचेक के आउटपुट के बीच मुख्य अंतर यह है कि टेक्स्ट फ़ाइल और / या का उपयोग :help indexकरने से आपको /C-wविम में कुछ भी खोजने की सुविधा मिलती हैC-w
Zoe

34

एक पूर्ण उत्तर नहीं है, लेकिन आप उन :help map-which-keysकुंजियों की एक सूची की जांच करना चाहते हैं जो विम आपको अपने कस्टम मानचित्रों में उपयोग करने की सलाह देते हैं।

उस सहायता अनुभाग की एक सिफारिश है कि कैसे बताया जाए कि क्या किसी विशेष कुंजी को किसी क्रिया में मैप किया जाता है।


19

मैन्युअल रूप से सेट कीज़ के लिए उपयोग करें :map!और यह पता लगाने के लिए कि कौन-सी कुंजियाँ पहले से ही आउट-ऑफ-द-बॉक्स (/ आपके विशिष्ट संकलन विकल्पों में से) मैप की गई हैं। (थोड़ा-सा ऑफ-टॉपिक लेकिन फिर भी सम्मानजनक (मुझे लगता है): यह देखने के लिए उपयोग करें कि कौन सी फाइलें किस क्रम में खानी पड़ी हैं।):map:help 'char(-combination)':scriptnames


यदि आप यह खोजना चाहते हैं कि किस कमांड से एक निश्चित कमांड को ट्रिगर किया जाता है, तो आप यह कर सकते हैं: redir keys.txt: map: redir end फिर चाबियां खोलें।
ईसाई औडार्ड

18

मैंने इसके माध्यम से स्किम्ड किया :help indexऔर कुछ अप्रयुक्त nmapचाबियों की सूची बनाई :

  • क्यू ("पूर्व" मोड पर स्विच करें)
  • जेड को छोड़कर जेड, जेडक्यू
  • \
  • <Space>( lसामान्य मोड की तरह ही; सामान्य मोड में सबसे बड़ी और सबसे अधिक आधारभूत कुंजी)
  • gb, gc, gl, gx, gy, gz
  • जीएस (नींद)
  • zp, zq, zu, zy
  • cd, cm, co, cp, cq, cr, cs, cu, cx, cy
  • dc, dm, do, dp, dq, dr, ds, du, dx, dy
  • जीए, जीबी, जीसी, जीजी, जीके, जीएल, जीएम, जीओ, जीएस, जीएक्स, जीवाई, जीजेड
  • zB, zI, zJ, zK, zP, zQ, zP, zS, zT, zU, zV, zY, zZ
  • ] ए,] बी, ई,] जी, एच,] जे,] के,] एल,] एन,] ओ,] क्यू,] आर,] टी,] यू,] वी,] डब्ल्यू,] एक्स ,] य
  • [ए, [बी, [ई, [जी, [एच, [जे, [के, [एल, एन, [ओ, [क्यू, [आर, [टी, [यू, [वी, [डब्ल्यू, [एक्स]] , [य
  • CTRL-G, CTRL-K
  • CTRL- \ a - z (एक्सटेंशन के लिए आरक्षित)
  • CTRL- \ A - Z (उपयोग नहीं किया गया)

कृपया अपडेट / टिप्पणी करें।


12

आप उपयोग कर सकते हैं mapcheck।: -

उदाहरण के लिए, मैं फ़ाइल को इंडेंट <CR> ,iकरने के gg=Gलिए मैप करना चाहता था । यह जांचने के लिए कि पहले से ही मैपिंग है या नहीं<CR> , i

if mapcheck("\<CR>", "I") == "" |echo "no mapping"

... लेकिन यह पता नहीं चलेगा कि मानचित्रण अनुक्रम का हिस्सा है या नहीं।


मैंने जांचने की कोशिश की कि क्या "ओ" सामान्य मोड में किसी चीज़ से बंधा हुआ है, निम्न के साथ: यदि मैपचेक ("ओ", "एन") == "" | इको "नो मैपिंग" लेकिन यह "नो मैपिंग" की रिपोर्ट करता है, जब ओ निश्चित रूप से "नई लाइन खोलने" के लिए बाध्य होता है। क्या मैं इसका गलत इस्तेमाल कर रहा हूं?
। नॉर्बर्ट

@ K.Norbert: मेरा मानना ​​है कि उपयोगकर्ता द्वारा परिभाषित मैपिंग के लिए
ऊंट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.