* lisp/view.el (view-mode-map): Convert to defvar-keymap.

This commit is contained in:
Stefan Kangas 2021-12-07 12:03:45 +01:00
parent 3939cb2a9c
commit 092c03d2c3

View file

@ -36,8 +36,8 @@
;;; Suggested key bindings:
;;
;; (define-key ctl-x-4-map "v" #'view-file-other-window) ; ^x4v
;; (define-key ctl-x-5-map "v" #'view-file-other-frame) ; ^x5v
;; (keymap-set ctl-x-4-map "v" #'view-file-other-window) ; C-x 4 v
;; (keymap-set ctl-x-5-map "v" #'view-file-other-frame) ; C-x 5 v
;;
;; You could also bind `view-file', `view-buffer', `view-buffer-other-window' and
;; `view-buffer-other-frame' to keys.
@ -142,68 +142,68 @@ that use View mode automatically.")
(defvar-local view-overlay nil
"Overlay used to display where a search operation found its match.
This is local in each buffer, once it is used.")
;; Define keymap inside defvar to make it easier to load changes.
;; Some redundant "less"-like key bindings below have been commented out.
(defvar view-mode-map
(let ((map (make-sparse-keymap)))
(define-key map "C" #'View-kill-and-leave)
(define-key map "c" #'View-leave)
(define-key map "Q" #'View-quit-all)
(define-key map "E" #'View-exit-and-edit)
;; (define-key map "v" #'View-exit)
(define-key map "e" #'View-exit)
(define-key map "q" #'View-quit)
;; (define-key map "N" #'View-search-last-regexp-backward)
(define-key map "p" #'View-search-last-regexp-backward)
(define-key map "n" #'View-search-last-regexp-forward)
;; (define-key map "?" #'View-search-regexp-backward) ; Less does this.
(define-key map "\\" #'View-search-regexp-backward)
(define-key map "/" #'View-search-regexp-forward)
(define-key map "r" #'isearch-backward)
(define-key map "s" #'isearch-forward)
(define-key map "m" #'point-to-register)
(define-key map "'" #'register-to-point)
(define-key map "x" #'exchange-point-and-mark)
(define-key map "@" #'View-back-to-mark)
(define-key map "." #'set-mark-command)
(define-key map "%" #'View-goto-percent)
;; (define-key map "G" #'View-goto-line-last)
(define-key map "g" #'View-goto-line)
(define-key map "=" #'what-line)
(define-key map "F" #'View-revert-buffer-scroll-page-forward)
;; (define-key map "k" #'View-scroll-line-backward)
(define-key map "y" #'View-scroll-line-backward)
;; (define-key map "j" #'View-scroll-line-forward)
(define-key map "\n" #'View-scroll-line-forward)
(define-key map "\r" #'View-scroll-line-forward)
(define-key map "u" #'View-scroll-half-page-backward)
(define-key map "d" #'View-scroll-half-page-forward)
(define-key map "z" #'View-scroll-page-forward-set-page-size)
(define-key map "w" #'View-scroll-page-backward-set-page-size)
;; (define-key map "b" #'View-scroll-page-backward)
(define-key map "\C-?" #'View-scroll-page-backward)
;; (define-key map "f" #'View-scroll-page-forward)
(define-key map " " #'View-scroll-page-forward)
(define-key map [?\S-\ ] #'View-scroll-page-backward)
(define-key map "o" #'View-scroll-to-buffer-end)
(define-key map ">" #'end-of-buffer)
(define-key map "<" #'beginning-of-buffer)
(define-key map "-" #'negative-argument)
(define-key map "9" #'digit-argument)
(define-key map "8" #'digit-argument)
(define-key map "7" #'digit-argument)
(define-key map "6" #'digit-argument)
(define-key map "5" #'digit-argument)
(define-key map "4" #'digit-argument)
(define-key map "3" #'digit-argument)
(define-key map "2" #'digit-argument)
(define-key map "1" #'digit-argument)
(define-key map "0" #'digit-argument)
(define-key map "H" #'describe-mode)
(define-key map "?" #'describe-mode) ; Maybe do as less instead? See above.
(define-key map "h" #'describe-mode)
map))
(defvar-keymap view-mode-map
:doc "Keymap for view-mode."
"C" #'View-kill-and-leave
"c" #'View-leave
"Q" #'View-quit-all
"E" #'View-exit-and-edit
;; "v" #'View-exit
"e" #'View-exit
"q" #'View-quit
;; "N" #'View-search-last-regexp-backward
"p" #'View-search-last-regexp-backward
"n" #'View-search-last-regexp-forward
;; "?" #'View-search-regexp-backward ; Less does this.
"\\" #'View-search-regexp-backward
"/" #'View-search-regexp-forward
"r" #'isearch-backward
"s" #'isearch-forward
"m" #'point-to-register
"'" #'register-to-point
"x" #'exchange-point-and-mark
"@" #'View-back-to-mark
"." #'set-mark-command
"%" #'View-goto-percent
;; "G" #'View-goto-line-last
"g" #'View-goto-line
"=" #'what-line
"F" #'View-revert-buffer-scroll-page-forward
;; "k" #'View-scroll-line-backward
"y" #'View-scroll-line-backward
;; "j" #'View-scroll-line-forward
"C-j" #'View-scroll-line-forward
"RET" #'View-scroll-line-forward
"u" #'View-scroll-half-page-backward
"d" #'View-scroll-half-page-forward
"z" #'View-scroll-page-forward-set-page-size
"w" #'View-scroll-page-backward-set-page-size
;; "b" #'View-scroll-page-backward
"DEL" #'View-scroll-page-backward
;; "f" #'View-scroll-page-forward
"SPC" #'View-scroll-page-forward
"S-SPC" #'View-scroll-page-backward
"o" #'View-scroll-to-buffer-end
">" #'end-of-buffer
"<" #'beginning-of-buffer
"-" #'negative-argument
"9" #'digit-argument
"8" #'digit-argument
"7" #'digit-argument
"6" #'digit-argument
"5" #'digit-argument
"4" #'digit-argument
"3" #'digit-argument
"2" #'digit-argument
"1" #'digit-argument
"0" #'digit-argument
"H" #'describe-mode
"?" #'describe-mode ; Maybe do as less instead? See above.
"h" #'describe-mode)
;;; Commands that enter or exit view mode.