Skip to content

Commit c4683ff

Browse files
committed
Ergonomic improvements for dired
1 parent 080ace2 commit c4683ff

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

modules/config-modes.el

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -710,33 +710,35 @@
710710
(defun dired-first-file ()
711711
(interactive)
712712
(goto-char (point-min))
713-
(dired-next-line 4))
713+
(dired-next-line 3))
714714

715715
(defun dired-last-file ()
716716
(interactive)
717717
(goto-char (point-max))
718718
(dired-next-line -1))
719719

720-
(defun dired-up-directory ()
720+
(defun dired-really-do-delete (&optional arg)
721+
(interactive "P")
722+
(let ((delete-by-moving-to-trash nil))
723+
(dired-do-delete arg)))
724+
725+
(defun quark/dired-up-directory ()
721726
"Take dired up one directory, but behave like dired-find-alternate-file"
722727
(interactive)
723728
(let ((old (current-buffer)))
724729
(dired-up-directory)
725730
(kill-buffer old)))
726731

727-
(defun dired-enable-wdired ()
728-
(interactive)
729-
(unless (evil-insert-state-p)
730-
(evil-insert-state))
731-
(wdired-change-to-wdired-mode))
732-
733732
(with-eval-after-load 'evil
734-
(evil-define-key 'normal dired-mode-map "h" #'dired-up-directory)
733+
(with-eval-after-load 'wdired
734+
(remove-hook 'wdired-mode-hook #'evil-change-to-initial-state))
735+
736+
(evil-define-key 'normal dired-mode-map "h" #'quark/dired-up-directory)
735737
(evil-define-key 'normal dired-mode-map "l" #'dired-find-alternate-file)
736738
(evil-define-key 'normal dired-mode-map "j" #'dired-next-line)
737739
(evil-define-key 'normal dired-mode-map "k" #'dired-previous-line)
738740

739-
(evil-define-key 'normal dired-mode-map "I" #'dired-enable-wdired)
741+
(evil-define-key 'normal dired-mode-map "I" #'wdired-change-to-wdired-mode)
740742

741743
(evil-define-key 'normal dired-mode-map "o" #'dired-sort-toggle-or-edit)
742744
(evil-define-key 'normal dired-mode-map "m" #'dired-toggle-marks)
@@ -749,32 +751,30 @@
749751
(evil-define-key 'normal dired-mode-map "n" #'evil-search-next)
750752
(evil-define-key 'normal dired-mode-map "N" #'evil-search-previous)
751753
(evil-define-key 'normal dired-mode-map "q" #'kill-this-buffer)
754+
(evil-define-key 'normal dired-mode-map "gg" #'dired-first-file)
752755

753-
(defun my/dired-avy-navigate-down ()
756+
(defun quark/dired-avy-navigate-down ()
754757
(interactive)
755758
(evilem--jump (evilem--collect #'dired-next-line)))
756759

757-
(defun my/dired-avy-navigate-up ()
760+
(defun quark/dired-avy-navigate-up ()
758761
(interactive)
759762
(evilem--jump (evilem--collect #'dired-previous-line)))
760763

761-
(defun my/dired-avy-find-file-down ()
764+
(defun quark/dired-avy-find-file-down ()
762765
(interactive)
763-
(my/dired-avy-navigate-down)
766+
(quark/dired-avy-navigate-down)
764767
(dired-find-file))
765768

766-
(defun my/dired-avy-find-file-up ()
769+
(defun quark/dired-avy-find-file-up ()
767770
(interactive)
768-
(my/dired-avy-navigate-up)
771+
(quark/dired-avy-navigate-up)
769772
(dired-find-file))
770773

771-
(evil-define-key 'normal dired-mode-map (kbd "SPC J") #'my/dired-avy-navigate-down)
772-
773-
(evil-define-key 'normal dired-mode-map (kbd "SPC K") #'my/dired-avy-navigate-up)
774-
775-
(evil-define-key 'normal dired-mode-map (kbd "SPC j") #'my/dired-avy-find-file-down)
776-
777-
(evil-define-key 'normal dired-mode-map (kbd "SPC k") #'my/dired-avy-find-file-up))
774+
(evil-define-key 'normal dired-mode-map (kbd "SPC J") #'quark/dired-avy-navigate-down)
775+
(evil-define-key 'normal dired-mode-map (kbd "SPC K") #'quark/dired-avy-navigate-up)
776+
(evil-define-key 'normal dired-mode-map (kbd "SPC j") #'quark/dired-avy-find-file-down)
777+
(evil-define-key 'normal dired-mode-map (kbd "SPC k") #'quark/dired-avy-find-file-up))
778778

779779
(define-key dired-mode-map (kbd "<remap> <beginning-of-buffer>")
780780
#'dired-first-file)

0 commit comments

Comments
 (0)