मैं emacs के लिए नया हूं, और एक रूकी सवाल है। मैं (global-set-key (kbd "C-c a b c") 'some-command)
द्वारा किसी विशेष फ़ंक्शन की कुंजी को बाध्य कर सकता हूं, जहां some-command
एक फ़ंक्शन है। मैं एक कुंजी बाध्यकारी के साथ दो कार्यों (some-command
और some-other-command
कहां) का आह्वान कर सकता हूं? आपका बहुत बहुत धन्यवाद!एकाधिक आदेशों के लिए Emacs कुंजी बाध्यकारी
उत्तर
आप अपने स्वयं के फ़ंक्शन को परिभाषित कर सकते हैं जो दो कार्यों को कॉल करता है, और अपने स्वयं के फ़ंक्शन की कुंजी को बाध्य करता है।
(global-set-key (kbd "C-c a b c") (lambda() (interactive) (some-command) (some-other-command)))
आप defun
जिसमें आप तो funcall
या apply
साथ दूसरों आह्वान, जब आप इस तीसरे समारोह फोन (जो आप भी बाध्य कर सकते हैं) के साथ एक और functon परिभाषित कर सकते हैं यह दूसरों के आह्वान करेंगे।
एक कमांड को परिभाषित करें जो आपके द्वारा इच्छित कार्यों (आदेश) को सशर्त रूप से कॉल करता है। कॉल करने के लिए अंतर करने के लिए उपसर्ग तर्क का प्रयोग करें। तो यदि नया, प्रेषण कमांड कहता है, C-o
, तो C-u C-o
कार्यों में से एक को कॉल करेगा और C-o
(उपसर्ग तर्क के बिना) दूसरे को कॉल करेगा। i interactive
का उपयोग जहां यह इस सिखाता है खोजने के लिए -
आप C-h f interactive
ऐसा करने के लिए, किसी आदेश स्वीकार करता है कि एक उपसर्ग तर्क आदि भी परामर्श elisp मैनुअल परिभाषित करने के लिए देखना चाहता हूँ जाएगा।
यह एक आसान और मजेदार व्यायाम है। अपने स्वयं के सरल आदेशों को परिभाषित करना सीखना Emacs से अपनी भाषा में बात करना शुरू करने का एक अच्छा तरीका है।
मैं कभी नहीं कुंजी को लैम्ब्डा भाव बंधन की सलाह देते हैं, सरल कारण है कि जब आप Emacs क्या है कि कुंजी करता पूछते हैं, तो यह आपको कुछ इस तरह कह (स्वीकार किए जाते हैं उपयोग करने के लिए खत्म हो जाएगा के लिए: या एक सरल लैम्ब्डा का उपयोग कोड, जब एक उदाहरण के रूप, बाइट-संकलित):
C-c a b c runs the command #[nil "\300 \210\301 \207" [some-command
some-other-command] 1 nil nil], which is an interactive compiled Lisp
function.
It is bound to C-c a b c.
(anonymous)
Not documented.
अपने कोड तुम कभी नहीं तो बाइट-संकलन, यह कम गुप्त, लेकिन अभी भी अस्वरूपित है:
C-c a b c runs the command (lambda nil (interactive) (some-command)
(some-other-command)), which is an interactive Lisp function.
कौन सा है, जबकि अभी भी पठनीय इस तरह के एक छोटे से काम के मामले में, तेजी से बड़े कार्यों के लिए समझ में आता है।
के साथ तुलना में:
C-c a b c runs the command my-run-some-commands, which is an
interactive compiled Lisp function in `foo.el'.
It is bound to C-c a b c.
(my-run-some-commands)
Run `some-command' and `some-other-command' in sequence.
जो तुम मिल अगर आप नाम समारोह (जो यह एक गुमनाम समारोह करता है की तुलना में अधिक दस्तावेज़ के लिए आप को प्रोत्साहित करती है)।
(defun my-run-some-commands()
"Run `some-command' and `some-other-command' in sequence."
(interactive)
(some-command)
(some-other-command))
(global-set-key (kbd "C-c a b c") 'my-run-some-commands)
अंत में, के रूप में abo-abo बताते हैं, यह भी मतलब है कि आप आसानी से यात्रा किसी भी समय है कि समारोह की परिभाषा, देखने के लिए या संपादित/पुनर्मूल्यांकन करने का कोड कर सकते हैं, या तो लिंक का पालन करके मदद बफर में या (मेरे उदाहरण में foo.el
करने के लिए) प्रदान की, या का उपयोग कर एमएक्सfind-function
(समारोह का नाम दर्ज करें) द्वारा, MXfind-function-on-key
(कुंजी अनुक्रम यह करने के लिए बाध्य है टाइप)।
बहुत महत्वपूर्ण बात यह है कि आप इस दृष्टिकोण का उपयोग कर कूद-से-परिभाषा कर सकते हैं। –
- 1. emacs, flyspell, निष्क्रिय "सी-।" कुंजी बाध्यकारी
- 2. एकाधिक आदेशों के साथ सीटी
- 3. एकाधिक आदेशों के साथ xargs
- 4. Emacs में सीएमडी कुंजी-बाध्यकारी कैसे सेट करें?
- 5. Emacs में सी-कुंजी के लिए वैकल्पिक?
- 6. मौजूदा Emacs मोड के लिए बाध्यकारी कीबोर्ड जोड़ें
- 7. Emacs वैश्विक-सेट-कुंजी सी-टैब
- 8. Emacs में कोड समापन कुंजी बाइंडिंग
- 9. कई आदेशों के लिए एलएलडीबी उपनाम एक
- 10. बाइंड एकाधिक कुंजी घटना
- 11. Emacs कुंजी बाइंडिंग फ़ॉलबैक
- 12. एकाधिक कुंजी के लिए LoDash _.has
- 13. एकाधिक तालिकाओं के लिए विदेशी कुंजी
- 14. एकाधिक शब्दकोश कुंजी के लिए स्विफ्ट फ़िल्टर
- 15. शानदार पाठ 2 - विशिष्ट भाषा के लिए कुंजी बाध्यकारी?
- 16. "फ़ाइल में नया दृश्य" के लिए कुंजी बाध्यकारी
- 17. सब्लिमे टेक्स्ट 2 - सिंटैक्स बदलने के लिए कुंजी बाध्यकारी
- 18. emacs में विभिन्न कीबोर्ड लेआउट कुंजी बाइंडिंग
- 19. आदेशों को Emacs विंडोज़ चोरी करने से कैसे रोकें?
- 20. Emacs के लिए संदर्भ
- 21. Emacs
- 22. डब्ल्यूपीएफ अलग-अलग डेटाकॉन्टेक्स के लिए एकाधिक नियंत्रण बाध्यकारी
- 23. डेटा बाध्यकारी: एक संपत्ति के लिए एकाधिक स्रोत
- 24. Emacs में जब कुंजी को रीमेप करने के लिए कैसे?
- 25. Emacs: बफर साफ़ करने के लिए शॉर्टकट कुंजी क्या है?
- 26. emacs में मेटा कमांड के लिए उपयोगकर्ता सुपर कुंजी
- 27. emacs बुराई मोड कुंजी मानचित्र
- 28. Emacs
- 29. एक कुंजी Emacs LaTeX संकलन?
- 30. एकाधिक मानदंडों पर WPF बाध्यकारी
@Stefan क्या आप कृपया बताएंगे कि लैम्ब्स उद्धरण क्यों नहीं देते? – songyuanyao
यह बहुत अच्छा काम करता है। धन्यवाद! मेरे पास उद्धरण के बारे में एक ही सवाल है --- मैं आमतौर पर भेड़ के बच्चे को भी उद्धृत करता हूं, और जानना चाहता हूं कि क्यों नहीं। –
@ सोंग्युन्याओ: क्योंकि '' (...) 'एक * सूची * है, एक * समारोह * नहीं। Http://stackoverflow.com/questions/16801396/when-should-emacs-function-syntax-be-used/16802304#16802304 – Stefan