Archived
Initial commit for v1.0 of Simply Emacs.
This commit is contained in:
Executable
+54
@@ -0,0 +1,54 @@
|
||||
;;; init-dired.el --- Dired with evil-flavoured navigation -*- lexical-binding: t; -*-
|
||||
|
||||
;;; Commentary:
|
||||
;; Dired stays vanilla — every binding points at a stock dired command.
|
||||
;; They're remapped only so evil's normal-state keys don't shadow dired's
|
||||
;; own single-letter commands.
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; Reuse the current dired buffer when descending/ascending (no pileup).
|
||||
(setq dired-kill-when-opening-new-dired-buffer t)
|
||||
|
||||
;; Order directories first
|
||||
(setq dired-listing-switches "-agho --group-directories-first")
|
||||
|
||||
(with-eval-after-load 'dired
|
||||
(evil-define-key 'normal dired-mode-map
|
||||
;; Navigation. RET and <return> both bound so evil's global <return>
|
||||
;; doesn't shadow them here.
|
||||
(kbd "j") #'dired-next-line
|
||||
(kbd "k") #'dired-previous-line
|
||||
(kbd "h") #'dired-up-directory
|
||||
(kbd "l") #'dired-find-file
|
||||
(kbd "RET") #'dired-find-file
|
||||
[return] #'dired-find-file
|
||||
(kbd "q") #'quit-window
|
||||
|
||||
;; Marking.
|
||||
(kbd "SPC") #'dired-mark
|
||||
(kbd "m") #'dired-mark
|
||||
(kbd "u") #'dired-unmark
|
||||
(kbd "U") #'dired-unmark-all-marks
|
||||
(kbd "t") #'dired-toggle-marks
|
||||
|
||||
;; Deletion: d flags, x executes flags, D deletes now.
|
||||
(kbd "d") #'dired-flag-file-deletion
|
||||
(kbd "x") #'dired-do-flagged-delete
|
||||
(kbd "D") #'dired-do-delete
|
||||
|
||||
;; File operations.
|
||||
(kbd "R") #'dired-do-rename
|
||||
(kbd "C") #'dired-do-copy
|
||||
(kbd "y") #'dired-copy-filename-as-kill
|
||||
(kbd "!") #'dired-do-shell-command
|
||||
(kbd "+") #'dired-create-directory
|
||||
(kbd "f") #'dired-create-directory
|
||||
(kbd "a") #'dired-create-empty-file
|
||||
|
||||
;; Misc.
|
||||
(kbd "g r") #'revert-buffer ; refresh listing
|
||||
(kbd "(") #'dired-hide-details-mode)) ; toggle perms/size/date columns
|
||||
|
||||
(provide 'init-dired)
|
||||
;;; init-dired.el ends here
|
||||
Reference in New Issue
Block a user