Як говорить @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
)
До речі, ви можете зробити будь-яку команду, що повторюється (навіть на префіксному ключі), використовуючи функцію repeat-command
(від misc-cmds.el
). Це все, що було потрібно для визначення повторюваної версії 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))