113 lines
3.3 KiB
EmacsLisp
113 lines
3.3 KiB
EmacsLisp
;;; Dired file manager and prot-dired.el extras
|
|
(use-package dired
|
|
:ensure nil
|
|
:commands (dired)
|
|
:config
|
|
(setq dired-recursive-copies 'always)
|
|
(setq dired-recursive-deletes 'always)
|
|
(setq delete-by-moving-to-trash t))
|
|
|
|
(use-package dired
|
|
:ensure nil
|
|
:commands (dired)
|
|
:config
|
|
(setq insert-directory-program
|
|
(or (executable-find "ls") "/opt/homebrew/bin/gls"))
|
|
(setq dired-listing-switches
|
|
"-AGFhlv --group-directories-first --time-style=long-iso"))
|
|
|
|
(use-package dired
|
|
:ensure nil
|
|
:commands (dired)
|
|
:config
|
|
(setq dired-dwim-target t))
|
|
|
|
(use-package dired
|
|
:ensure nil
|
|
:commands (dired)
|
|
:config
|
|
(setq dired-auto-revert-buffer #'dired-directory-changed-p) ; also see `dired-do-revert-buffer'
|
|
(setq dired-make-directory-clickable t) ; Emacs 29.1
|
|
(setq dired-free-space nil) ; Emacs 29.1
|
|
(setq dired-mouse-drag-files t) ; Emacs 29.1
|
|
|
|
(add-hook 'dired-mode-hook #'dired-hide-details-mode)
|
|
(add-hook 'dired-mode-hook #'hl-line-mode)
|
|
|
|
;; In Emacs 29 there is a binding for `repeat-mode' which lets you
|
|
;; repeat C-x C-j just by following it up with j. For me, this is a
|
|
;; problem as j calls `dired-goto-file', which I often use.
|
|
(define-key dired-jump-map (kbd "j") nil))
|
|
|
|
;;; Multi-occur in project and dired!
|
|
(use-package dired
|
|
:ensure nil
|
|
:bind
|
|
( :map dired-mode-map
|
|
("M-s a m" . noccur-dired))
|
|
:config
|
|
(defun noccur-dired (regexp &optional nlines)
|
|
"Perform `multi-occur' with REGEXP in all dired marked files.
|
|
When called with a prefix argument NLINES, display NLINES lines before and after."
|
|
(interactive (occur-read-primary-args))
|
|
(multi-occur (mapcar #'find-file (dired-get-marked-files)) regexp nlines)))
|
|
|
|
(use-package dired-aux
|
|
:ensure nil
|
|
:after dired
|
|
:bind
|
|
( :map dired-mode-map
|
|
("C-+" . dired-create-empty-file)
|
|
("M-s f" . nil)
|
|
("C-<return>" . dired-do-open) ; Emacs 30
|
|
("C-x v v" . dired-vc-next-action)) ; Emacs 28
|
|
:config
|
|
(setq dired-isearch-filenames 'dwim)
|
|
(setq dired-create-destination-dirs 'ask) ; Emacs 27
|
|
(setq dired-vc-rename-file t) ; Emacs 27
|
|
(setq dired-do-revert-buffer (lambda (dir) (not (file-remote-p dir)))) ; Emacs 28
|
|
(setq dired-create-destination-dirs-on-trailing-dirsep t)) ; Emacs 29
|
|
|
|
(use-package dired-x
|
|
:ensure nil
|
|
:after dired
|
|
:bind
|
|
( :map dired-mode-map
|
|
("I" . dired-info))
|
|
:config
|
|
(setq dired-clean-up-buffers-too t)
|
|
(setq dired-clean-confirm-killing-deleted-buffers t)
|
|
(setq dired-x-hands-off-my-keys t) ; easier to show the keys I use
|
|
(setq dired-bind-man nil)
|
|
(setq dired-bind-info nil))
|
|
|
|
(use-package dired-subtree
|
|
:ensure t
|
|
:after dired
|
|
:bind
|
|
( :map dired-mode-map
|
|
("<tab>" . dired-subtree-toggle)
|
|
("TAB" . dired-subtree-toggle)
|
|
("<backtab>" . dired-subtree-remove)
|
|
("S-TAB" . dired-subtree-remove))
|
|
:config
|
|
(setq dired-subtree-use-backgrounds nil))
|
|
|
|
(use-package wdired
|
|
:ensure nil
|
|
:commands (wdired-change-to-wdired-mode)
|
|
:config
|
|
(setq wdired-allow-to-change-permissions t)
|
|
(setq wdired-create-parent-directories t))
|
|
|
|
;;; dired-like mode for the trash (trashed.el)
|
|
(use-package trashed
|
|
:ensure t
|
|
:commands (trashed)
|
|
:config
|
|
(setq trashed-action-confirmer 'y-or-n-p)
|
|
(setq trashed-use-header-line t)
|
|
(setq trashed-sort-key '("Date deleted" . t))
|
|
(setq trashed-date-format "%Y-%m-%d %H:%M:%S"))
|
|
|
|
(provide 'nebkor-dired)
|