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.")