1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-27 19:31:38 +00:00

Mark page navigation commands as repeatable

* doc/emacs/basic.texi (Repeating): Document page navigation
repeatability.

* lisp/bindings.el (page-navigation-repeat-map): Add new map
(bug#50137).
* lisp/bindings.el (forward-page):
(backward-page): Mark as repeatable.

Copyright-paperwork-exempt: yes
This commit is contained in:
Davide Masserut 2021-08-20 17:49:35 +02:00 committed by Lars Ingebrigtsen
parent b2b9f69b9d
commit 63cbb54d7e
2 changed files with 20 additions and 8 deletions

View File

@ -887,15 +887,16 @@ z z z}. The first @kbd{C-x z} repeats the command once, and each
subsequent @kbd{z} repeats it once again.
@findex repeat-mode
Also you can activate @code{repeat-mode} that temporarily enables
a transient mode with short keys after a limited number of commands.
Also you can activate @code{repeat-mode} that temporarily enables a
transient mode with short keys after a limited number of commands.
Currently supported shorter key sequences are @kbd{C-x u u} instead of
@kbd{C-x u C-x u} to undo many changes, @kbd{C-x o o} instead of
@kbd{C-x o C-x o} to switch several windows, @kbd{C-x @{ @{ @} @} ^ ^
v v} to resize the selected window interactively, @kbd{M-g n n p p} to
navigate @code{next-error} matches. Any other key exits transient mode
and then is executed normally. The user option @code{repeat-exit-key}
defines an additional key to exit this transient mode. Also it's
possible to break the repetition chain automatically after idle time
by customizing the user option @code{repeat-exit-timeout} to a number
of seconds.
navigate @code{next-error} matches, and @kbd{C-x ] ] [ [} to navigate
through pages. Any other key exits transient mode and then is
executed normally. The user option @code{repeat-exit-key} defines an
additional key to exit this transient mode. Also it's possible to
break the repetition chain automatically after idle time by
customizing the user option @code{repeat-exit-timeout} to a number of
seconds.

View File

@ -1434,6 +1434,17 @@ if `inhibit-field-text-motion' is non-nil."
(define-key ctl-x-map "[" 'backward-page)
(define-key ctl-x-map "]" 'forward-page)
(defvar page-navigation-repeat-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "]") #'forward-page)
(define-key map (kbd "[") #'backward-page)
map)
"Keymap to repeat page navigation key sequences. Used in `repeat-mode'.")
(put 'forward-page 'repeat-map 'page-navigation-repeat-map)
(put 'backward-page 'repeat-map 'page-navigation-repeat-map)
(define-key ctl-x-map "\C-p" 'mark-page)
(define-key ctl-x-map "l" 'count-lines-page)
(define-key ctl-x-map "np" 'narrow-to-page)