From 75fdb84ed814d85e43fa2339380edefd7b982d3c Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sat, 30 Aug 2014 01:32:01 -0400 Subject: Make prefix map for dired-copy-filename functions --- lisp/init-dired.el | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lisp/init-dired.el b/lisp/init-dired.el index b92af65..ba91452 100644 --- a/lisp/init-dired.el +++ b/lisp/init-dired.el @@ -36,9 +36,6 @@ path is always relative to `projectile-project-root'." (let ((project-dir (projectile-project-root))) (km/dired-copy-filename-relative-to-directory project-dir))) -(after 'projectile - (define-key dired-mode-map "W" 'km/dired-copy-project-filename-as-kill)) - (defun km/dired-copy-filename-relative-to-directory (directory) "Like `dired-copy-filename-as-kill', but the filename is always relative to DIRECTORY." @@ -67,6 +64,17 @@ window." (other-window 1) default-directory)) +(define-prefix-command 'km/dired-copy-filename-map) +(after 'projectile + (define-key km/dired-copy-filename-map "o" + 'km/dired-copy-relative-filename-as-kill)) +(define-key km/dired-copy-filename-map "w" 'dired-copy-filename-as-kill) +(define-key km/dired-copy-filename-map "p" + 'km/dired-copy-project-filename-as-kill) + +;; This overrides the default binding for `dired-copy-filename-as-kill'. +(define-key dired-mode-map "w" 'km/dired-copy-filename-map) + (defun km/dired-switch-to-buffer () (interactive) (let ((buffer-name (km/dired-completing-buffer))) -- cgit v1.2.3