क्या Emacs में एक(दोहराना-अंतिम-आदेश) है?




elisp (6)

अंतिम आदेश दोहराएं

सीएक्स जेड

एक बार जब आप इसे दबाएंगे, तो उसके बाद केवल z दबाएं और यह दोहराएगा (फिर से सीएक्स दबाए बिना)।

अक्सर, मैंने एप्रोपोस और डॉक्स में खोद दिया है जो केवल कुछ काम की तलाश में हैं ताकि वे कार्य को वापस प्राप्त कर सकें:

(दोहराने-अंतिम आदेश)

आखिरी सी- या एम-कमांड करें जिसे मैंने अभी निष्पादित किया है (एक एफएन कुंजी के लिए रिबाउंड करने के लिए)

या कभी-कभी संबंधित:

(वर्णन-अंतिम समारोह)

मैं किस गलती से गलती से मुद्दा उठाता हूं, जिसका प्रभाव मैं अपने बैग के बैग में जोड़ना चाहता हूं। वर्णन-कुंजी करीब है, लेकिन मुझे जो लिखना है उसे जानने की आवश्यकता है।

क्या मैं बस अपने भरोसेमंद साइडकिक से बहुत ज्यादा पूछ रहा हूं?


' वर्णन-अंतिम-कार्य ' के संबंध में:

एक चर last-command जो आपके द्वारा की गई अंतिम चीज़ के प्रतीक प्रतिनिधि पर सेट है। तो यह elisp snippet - (describe-function last-command) - तुरंत उस चीज के लिए दस्तावेज़ीकरण लाने के लिए चाहिए जो तुरंत हुआ।

तो आप इस तरह एक मामूली कामकाजी describe-last-function हैं

(defun describe-last-function() 
  (interactive) 
  (describe-function last-command))

उस elisp को .emacs या समकक्ष में रखें, और आपके पास एक एमएक्स वर्णन-अंतिम-फ़ंक्शन होगा

यदि आपने कुछ कुंजियों पर टक्कर लगी है या ऐसी चीज की है जो आपकी रुचि रखने वाली चीज़ के आखिरी-कमांड को संशोधित करती है, तो command-history फ़ंक्शन रुचि का हो सकता है। आप इसे एमएक्स कमांड-इतिहास द्वारा प्राप्त कर सकते हैं


इसके अलावा, Mx view-lossage आपको आपके द्वारा दर्ज किए गए अंतिम सौ (?) कीस्ट्रोक दिखाता है। तो, आप यह देखने में सक्षम होंगे कि आदेश कहां है। यह तब तक मैंने उपयोग किया जब तक कि मुझे अभी Mx command-history बारे में पता नहीं चला, जो मुझे लगता है कि मैं अब Ch w साथ उपयोग करूँगा।


मुझे सच में यकीन नहीं है, लेकिन शायद आप इसे खोज रहे हैं?

आदेश सीएक्स जेड ( repeat ) कई बार Emacs कमांड को दोहराने का एक और तरीका प्रदान करता है। यह आदेश पिछले Emacs कमांड को दोहराता है, जो कुछ भी था। कमांड को दोहराते हुए उसी तर्क का उपयोग किया जाता है जो पहले उपयोग किया गया था; यह हर बार नए तर्क नहीं पढ़ता है।

Emacs मैनुअल, 8.11 एक कमांड दोहराएँ


व्यक्तिगत रूप से मैंने सेबेस्टियन के विचार को उपयोगी पाया। यहां एक वर्किंग वर्जन है

(global-set-key "\C-r" #'(lambda () (interactive)
                                 (eval (car command-history))))

repeat.el कार्यक्षमता repeat.el Emacs Lisp पैकेज द्वारा प्रदान की जाती है, जो मानक Emacs वितरण के साथ शामिल है। repeat.el के दस्तावेज से:

यह पैकेज एक कमांड को परिभाषित करता है जो पिछले आदेश को दोहराता है, जो कुछ भी था, जिसमें इसके तर्क भी शामिल थे, जो कुछ भी थे। यह आदेश कुंजी सीएक्स जेड से जुड़ा हुआ है। एक बार पिछली कमांड को दोहराने के लिए, सीएक्स जेड टाइप करें। इसे तुरंत दो बार दोहराने के लिए, बस ज़ेड टाइप करें। ज़ेड बार-बार टाइप करके, आप कमांड को बार-बार दोहरा सकते हैं।

दोहराना कमांड के बारे में अतिरिक्त जानकारी देखने के लिए, Em Fs से R F दोहराना आरईटी टाइप करें।





elisp