Variable: vc-dir-mode-map
vc-dir-mode-map is a variable defined in vc-dir.el.gz.
Value
Large value
% m vc-dir-mark-by-regexp
* % vc-dir-mark-by-regexp
* r vc-dir-mark-registered-files
+ vc-pull
<backtab> vc-dir-previous-directory
<down-mouse-3> vc-dir-menu
<follow-link> mouse-face
= vc-diff
C-<down> vc-dir-next-directory
C-<up> vc-dir-previous-directory
C-c C-c vc-dir-kill-dir-status-process
C-k vc-dir-kill-line
C-o vc-dir-display-file
D vc-root-diff
DEL vc-dir-unmark-file-up
G vc-dir-ignore
I vc-log-incoming
L vc-print-root-log
M vc-dir-mark-all-files
M-DEL vc-dir-unmark-all-files
M-s a C-M-s vc-dir-isearch-regexp
M-s a C-s vc-dir-isearch
M-{ vc-dir-previous-directory
M-} vc-dir-next-directory
O vc-log-outgoing
P vc-push
Q vc-dir-query-replace-regexp
RET vc-dir-find-file
S vc-dir-search
S-SPC vc-dir-previous-line
SPC vc-dir-next-line
TAB vc-dir-next-directory
U vc-dir-unmark-all-files
b L vc-print-root-branch-log
b c vc-create-branch
b l vc-print-fileset-branch-log
b s vc-switch-branch
d vc-dir-delete-file
e vc-dir-find-file
f vc-dir-find-file
i vc-register
l vc-print-log
m vc-dir-mark
n vc-dir-next-line
o vc-dir-find-file-other-window
p vc-dir-previous-line
u vc-dir-unmark
v vc-next-action
x vc-dir-hide-up-to-date
Documentation
Keymap for directory buffer.
Probably introduced at or before Emacs version 31.1.
Source Code
;; Defined in /usr/src/emacs/lisp/vc/vc-dir.el.gz
(defvar vc-dir-mode-map
(let ((map (make-sparse-keymap)))
;; VC commands
(define-key map "v" #'vc-next-action) ;; C-x v v
(define-key map "=" #'vc-diff) ;; C-x v =
(define-key map "D" #'vc-root-diff) ;; C-x v D
(define-key map "i" #'vc-register) ;; C-x v i
(define-key map "+" #'vc-pull) ;; C-x v +
(define-key map "P" #'vc-push) ;; C-x v P
(define-key map "l" #'vc-print-log) ;; C-x v l
(define-key map "L" #'vc-print-root-log) ;; C-x v L
(define-key map "I" #'vc-log-incoming) ;; C-x v I
(define-key map "O" #'vc-log-outgoing) ;; C-x v O
;; More confusing than helpful, probably
;;(define-key map "R" #'vc-revert) ;; u is taken by vc-dir-unmark.
;;(define-key map "A" #'vc-annotate) ;; g is taken by revert-buffer
;; bound by `special-mode'.
;; Marking.
(define-key map "m" #'vc-dir-mark)
(define-key map "d" #'vc-dir-delete-file)
(define-key map "M" #'vc-dir-mark-all-files)
(define-key map "u" #'vc-dir-unmark)
(define-key map "U" #'vc-dir-unmark-all-files)
(define-key map "\C-?" #'vc-dir-unmark-file-up)
(define-key map "\M-\C-?" #'vc-dir-unmark-all-files)
;; Movement.
(define-key map "n" #'vc-dir-next-line)
(define-key map " " #'vc-dir-next-line)
(define-key map "\t" #'vc-dir-next-directory)
(define-key map "p" #'vc-dir-previous-line)
(define-key map [?\S-\ ] #'vc-dir-previous-line)
(define-key map [backtab] #'vc-dir-previous-directory)
;;; Rebind paragraph-movement commands.
(define-key map "\M-}" #'vc-dir-next-directory)
(define-key map "\M-{" #'vc-dir-previous-directory)
(define-key map [C-down] #'vc-dir-next-directory)
(define-key map [C-up] #'vc-dir-previous-directory)
;; The remainder.
(define-key map "f" #'vc-dir-find-file)
(define-key map "e" #'vc-dir-find-file) ; dired-mode compatibility
(define-key map "\C-m" #'vc-dir-find-file)
(define-key map "o" #'vc-dir-find-file-other-window)
(define-key map "\C-o" #'vc-dir-display-file)
(define-key map "\C-c\C-c" #'vc-dir-kill-dir-status-process)
(define-key map [down-mouse-3] #'vc-dir-menu)
(define-key map [follow-link] 'mouse-face)
(define-key map "x" #'vc-dir-hide-up-to-date)
(define-key map [?\C-k] #'vc-dir-kill-line)
(define-key map "S" #'vc-dir-search) ;; FIXME: Maybe use A like dired?
(define-key map "Q" #'vc-dir-query-replace-regexp)
(define-key map (kbd "M-s a C-s") #'vc-dir-isearch)
(define-key map (kbd "M-s a M-C-s") #'vc-dir-isearch-regexp)
(define-key map "G" #'vc-dir-ignore)
(let ((branch-map (make-sparse-keymap)))
(define-key map "b" branch-map)
(define-key branch-map "c" #'vc-create-branch)
(define-key branch-map "l" #'vc-print-fileset-branch-log)
(define-key branch-map "L" #'vc-print-root-branch-log)
(define-key branch-map "s" #'vc-switch-branch))
(let ((regexp-map (make-sparse-keymap)))
(define-key map "%" regexp-map)
(define-key regexp-map "m" #'vc-dir-mark-by-regexp))
(let ((mark-map (make-sparse-keymap)))
(define-key map "*" mark-map)
(define-key mark-map "%" #'vc-dir-mark-by-regexp)
(define-key mark-map "r" #'vc-dir-mark-registered-files))
;; Hook up the menu.
(define-key map [menu-bar vc-dir-mode]
`(menu-item
;; VC backends can use this to add mode-specific menu items to
;; vc-dir-menu-map.
"VC-Dir" ,vc-dir-menu-map :filter vc-dir-menu-map-filter))
map)
"Keymap for directory buffer.")