जैसा कि @kuanyui एक टिप्पणी में कहते हैं, next-bufferऔर previous-bufferबहुत जल्दी हैं, यदि आपके पास केवल कुछ बफ़र्स के बीच में चक्र करने के लिए है। (कुछ से अधिक के लिए, और अधिक बफर-चुनने की सुविधाओं के लिए, मैं उपयोग करता हूं icicle-buffer।)
हालांकि, डिफ़ॉल्ट रूप से, next-bufferऔर previous-bufferएक उपसर्ग कुंजी पर, कर रहे हैंC-x ।
इसका मतलब है कि वे दोहराए जाने योग्य नहीं हैं : आप सिर्फ हिट नहीं कर सकते C-x <right> <right> <right>...। इसके बजाय आपको इन आदेशों को अलग-अलग, दोहराने योग्य कुंजियों से बांधना चाहिए, या आपको C-x <right> C-x <right> C-x <right>...उनका उपयोग करना होगा , जो बहुत जल्दी नहीं है।
इन आदेशों के दोहराए जाने वाले संस्करणों के लिए, लाइब्रेरी लोड करें misc-cmds.elऔर वेनिला को रीमैप करें, वहां परिभाषित किए गए दोहराए जाने वाले संस्करणों के लिए अप्राप्य संस्करण:
(global-set-key [remap previous-buffer] 'previous-buffer-repeat)
(global-set-key [remap next-buffer] 'next-buffer-repeat)
(इसी प्रकार, उसी लाइब्रेरी में आपको undoएक उपसर्ग कुंजी पर भी दोहराए जाने का एक संस्करण मिलेगा :) undo-repeat।
BTW, आप फ़ंक्शन (से ) का उपयोग करके बहुत अधिक किसी भी आदेश को दोहराए जा सकते हैं (यहां तक कि एक उपसर्ग कुंजी पर )। यह वह सब है जिसे दोहराने योग्य संस्करण को परिभाषित करने की आवश्यकता थी :repeat-commandmisc-cmds.elnext-buffer
(defun previous-buffer-repeat ()
"Switch to the previous buffer in the selected window.
You can repeat this by hitting the last key again..."
(interactive)
(require 'repeat nil t) ; Library `repeat.el' is in Emacs 22.1 and later
(repeat-command 'next-buffer))