Như @kuanyui nói trong một bình luận, next-buffer
và previous-buffer
rất nhanh chóng, nếu bạn chỉ có một vài bộ đệm để xoay vòng. (Đối với nhiều hơn một chút và để biết thêm các tính năng chọn bộ đệm, tôi sử dụng icicle-buffer
.)
Tuy nhiên, theo mặc định next-buffer
và previous-buffer
nằm trên khóa tiền tố ,C-x
.
Điều đó có nghĩa là chúng không thể lặp lại : bạn không thể đánh C-x <right> <right> <right>...
. Thay vào đó, bạn phải liên kết các lệnh này với các khóa lặp lại khác nhau hoặc bạn phải sử dụng C-x <right> C-x <right> C-x <right>...
, điều này không nhanh lắm.
Đối với các phiên bản có thể lặp lại của các lệnh này, hãy tải thư viện misc-cmds.el
và ánh xạ lại vanilla, các phiên bản không thể lặp lại thành các phiên bản lặp lại được xác định ở đó:
(global-set-key [remap previous-buffer] 'previous-buffer-repeat)
(global-set-key [remap next-buffer] 'next-buffer-repeat)
(Tương tự, trong cùng một thư viện, bạn sẽ tìm thấy một phiên bản undo
có thể lặp lại ngay cả khi trên khóa tiền tố : undo-repeat
.)
BTW, bạn có thể thực hiện khá nhiều bất kỳ lệnh nào có thể lặp lại (ngay cả trên khóa tiền tố), bằng cách sử dụng hàm repeat-command
(từ misc-cmds.el
). Đây là tất cả những gì cần thiết để xác định phiên bản lặp lại của next-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))