एक Emacs कमांड नाम को देखते हुए, आप कुंजी-बाइंडिंग कैसे खोजेंगे? (और इसके विपरीत)


107

अगर मैं एक emacs कमांड नाम जानता हूं, तो कहता है, "गोटो-लाइन"; क्या होगा यदि मैं प्रश्न करना चाहता हूं कि क्या इस आदेश के लिए कोई कुंजी-अनुक्रम हैं?

और इसके विपरीत, एक महत्वपूर्ण अनुक्रम दिया गया है, मैं इसका कमांड नाम कैसे खोज सकता हूं?

जवाबों:


159

केवल कमांड के लिए कुंजी बाइंडिंग खोजने के लिए, आप एमएसीएस मदद के "जहां-जहां" सुविधा का उपयोग कर सकते हैं

C-h w command-name

यदि कई बाइंडिंग कमांड के लिए सेट हैं, तो वे सभी सूचीबद्ध होंगे।

व्युत्क्रम के लिए, एक महत्वपूर्ण अनुक्रम दिया, आप टाइप कर सकते हैं

C-h k key-sequence

आज्ञा पाने के लिए जो चलेगा।

आप कमांड के बारे में विस्तृत जानकारी प्राप्त कर सकते हैं, टाइप करके कोई भी गैर-संवादात्मक फ़ंक्शन परिभाषित किया गया है

C-h f function-name

जो आपको किसी फ़ंक्शन के बारे में विस्तृत जानकारी देगा, जिसमें इसके लिए कोई कुंजी बाइंडिंग भी शामिल है, और

C-h v variable-name

आपको किसी भी (बाध्य) चर के बारे में जानकारी देगा। की-मैप्स को चर में रखा जाता है, हालांकि प्रमुख कोड एक कच्चे प्रारूप में संग्रहीत किए जाते हैं। C-h v isearch-mode-mapएक उदाहरण के लिए प्रयास करें ।

सहायता प्राप्त करने पर अधिक सहायता के लिए, आप टाइप कर सकते हैं

C-h ?


51
आप यह भी C-h w <function name>जान सकते हैं कि कुंजी कहाँ है, पूर्ण दस्तावेज नहीं। इसके विपरीत, आप C-h c <key sequence>केवल यह जानने के लिए भी कर सकते हैं कि फ़ंक्शन एक प्रमुख अनुक्रम से जुड़ा हुआ है।
श्रीवत्सआर

7
यह भी: Ch w आमतौर पर जहां-जहां से जुड़ा होता है।
चेसो

2
तो, मैं कर सकता हूँ, जहां-जहां है जब मैं Ch w को भूल जाता हूं। एक दम बढ़िया ! ;)
Sake

1
उन लोगों के लिए जो C-hअपने विंडो प्रबंधकों में कुछ और करने के लिए बाध्य हैं: C-h wके बराबर है M-x where-isC-h kके बराबर है M-x describe-keyC-h fके बराबर है M-x describe-functionC-h vके बराबर है M-x describe-variableC-h ?के बराबर है M-x help-for-help। यह भी ध्यान दें कि f1इसका उपयोग किया जा सकता है C-h
रिकार्डो

13

C-h w(या F1-w): where-isRET somecommandname RET

क्या आप जो पूछ रहे हैं बस वही करता है - बिना किसी अतिरिक्त जानकारी के बाउंड कीज़ को सूचीबद्ध करता है। :)


13

एक कुंजीपटल शॉर्टकट (या Emacs शब्दों में एक महत्वपूर्ण अनुक्रम) के लिए बाध्य रूप से प्राप्त करने के लिए, चयनित उत्तर देखें।

प्रोग्राम के लिए दिए गए प्रमुख अनुक्रम के लिए कमांड को बाध्य करने के लिए, फ़ंक्शन का उपयोग करें key-bindingया lookup-keyजो एक महत्वपूर्ण अनुक्रम लेता है और अपनी बाध्य कमांड देता है। फ़ंक्शन key-bindingका C-h kउपयोग करता है।

(key-binding (kbd "C-h m"))

C-h mसभी वर्तमान कीमैप में खोज कर बंधी हुई कमांड देता है । फ़ंक्शन lookup-keyएक कीमैप में खोज करता है :

(lookup-key (current-global-map) (kbd "TAB")) ; => indent-for-tab-command
(lookup-key org-mode-map (kbd "TAB")) ; => org-cycle
(lookup-key text-mode-map (kbd "TAB")) ; => nil
(lookup-key isearch-mode-map (kbd "TAB")) ; => isearch-printing-char

प्रोग्रामेटिक रूप से दिए गए कमांड के लिए सभी प्रमुख अनुक्रम प्राप्त करने के लिए, where-is-internalसंभवतः उपयोग करने के लिए फ़ंक्शन है। के साथ समाप्त होने वाले फ़ंक्शन का नाम internalऐसा प्रतीत होता है कि यह Emacs उपयोगकर्ताओं के लिए अपनी init फ़ाइलों में उपयोग करने के लिए नहीं है, लेकिन इस फ़ंक्शन में एक docstring है जो अन्यथा सुझाव देता है। किसी को भी उपयोग करने पर विचार where-is-internalकरना चाहिए पहले जाँच करें कि क्या इसके बजाय कुंजी को फिर से भरना उनके लक्ष्य को प्राप्त कर सकता है।

उन कुंजियों को खोजने के लिए एक विकल्प जो एक विशिष्ट कमांड (जैसे, forward-char) से बंधे हैं substitute-command-keys(जैसे, (substitute-command-keys "\\[forward-char]"))। यह विशेष रूप से बड़े ग्रंथों में उपयोगी है।


where-is-internalसुझाव के प्रलेखन को देखते हुए इसका उपयोग करना ठीक है। इसके अलावा, परंपरागत रूप से हम where-is--internal"निजी" कार्यों के लिए (डबल डैश पर ध्यान दें) जैसे प्रारूप का उपयोग करते हैं।
गर्गलीपोलकोंकाई

2
प्रत्यय -internalका उपयोग वहाँ वर्णित है: gnu.org/software/emacs/manual/html_node/elisp/… । इसका उपयोग आंतरिक सी फ़ंक्शन के लिए किया जाना चाहिए।
टोबियास

4

एक पुराना सवाल है, लेकिन नए पाठकों के लाभ के लिए, कुंजी बाइंडिंग देखने के कुछ अन्य अच्छे तरीके हैं

M-x describe-bindings

इस सूची का अच्छा उपयोग करने के लिए वर्तमान में उपलब्ध सभी बाइंडिंग, सूची का उपयोग, खोज आदि को सूचीबद्ध करता है।

M-x describe-prefix-map

यह वर्तमान मोड से उपलब्ध सभी बाइंडिंग को दिखाता है, आप डिस्प्ले बफर का उपयोग कर सकते हैं जैसा कि आप किसी भी अन्य इमैक बफ़र को करेंगे, उदाहरण के लिए आप स्ट्रिंग्स आदि के लिए स्वतंत्र रूप से खोज सकते हैं।

M-x describe-mode

वर्तमान मोड के बारे में आपको सामान्य जानकारी देने के साथ-साथ यह उपलब्ध सभी प्रमुख बाइंडिंग को भी सूचीबद्ध करेगा।

M-x describe-minor-mode

आपको एक मामूली मोड का नाम दर्ज करने के लिए प्रेरित किया जाएगा, और फिर उस मामूली मोड के लिए जानकारी और कुंजी बाइंडिंग दिखाई जाएगी।

नोट : नीचे दिए गए उदाहरण अतिरिक्त पैकेज ( MELPA से उपलब्ध ) का उपयोग करते हैं

कौन सी कुंजी

यह आपको उनकी ज़रूरत से पहले ही बाँधता है। एक उपसर्ग दर्ज करें, उदाहरण के लिए C-xया C-cउस उपसर्ग में उपलब्ध बाइंडिंग की एक सूची दिखाई जाएगी।

आप वर्तमान मोड से उपलब्ध प्रमुख बाइंडिंग की सूची भी देख सकते हैं:

M-x which-key-show-top-level

which-key-show-top-levelअपनी पसंद के प्रमुख तार से बांधना उपयोगी है , इसलिए आप कहीं से भी उपलब्ध कुंजियों को देख सकते हैं।

उदाहरण के लिए, C-s( isearch-forward) में एक व्यापक कुंजी नक्शा है जो अक्सर अज्ञात होता है। उदाहरण के लिए वर्तमान खोज स्ट्रिंग का उपयोग करना M-s oशुरू occurकरता है, मुझे इस बारे में कई वर्षों से Emacs का उपयोग करने के बारे में नहीं पता था। बीत रहा है which-keyचारों ओर मुझे Emacs में कई दुर्लभ रत्न की खोज में मदद मिली है।

https://github.com/justbur/emacs-which-key

गाइड कुंजी

गाइड कुंजी उसी तरह से काम करती है जैसे कि which-keyमैं सुविधाओं की तुलना करने के लिए इस पर एक नज़र डालने की सलाह देता हूँ।

https://github.com/kai2nenobu/guide-key

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