diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index f3df44fa7b..7bb3831647 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -107,6 +107,21 @@ project-find-functions (defvar project-current-inhibit-prompt nil "Non-nil to skip prompting the user in `project-current'.") +(defvar project-prefix-map (make-sparse-keymap) + "Keymap for project commands.") + +(define-key ctl-x-map "p" project-prefix-map) +(define-key project-prefix-map "f" 'project-find-file) +(define-key project-prefix-map "b" 'project-switch-to-buffer) +(define-key project-prefix-map "s" 'project-shell) +(define-key project-prefix-map "d" 'project-dired) +(define-key project-prefix-map "v" 'project-vc-dir) +(define-key project-prefix-map "c" 'project-compile) +(define-key project-prefix-map "e" 'project-eshell) +(define-key project-prefix-map "p" 'project-switch-project) +(define-key project-prefix-map "g" 'project-find-regexp) +(define-key project-prefix-map "r" 'project-query-replace-regexp) + ;;;###autoload (defun project-current (&optional maybe-prompt dir) "Return the project instance in DIR or `default-directory'.