Merge branch 'develop' into dired
This commit is contained in:
commit
3c4252ffe7
295 changed files with 8141 additions and 6654 deletions
46
modules/emacs/dired/README.org
Normal file
46
modules/emacs/dired/README.org
Normal file
|
@ -0,0 +1,46 @@
|
|||
#+TITLE: emacs/dired
|
||||
#+DATE: May 27, 2018
|
||||
#+SINCE: v2.0
|
||||
#+STARTUP: inlineimages
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#keybindings][Keybindings]]
|
||||
|
||||
* Description
|
||||
|
||||
This module provides configuration for dired.
|
||||
|
||||
** Module Flags
|
||||
|
||||
+ =+ranger= Enables dired to be more like [[https://github.com/ranger/ranger][ranger]].
|
||||
+ =+icons= Enables the display of fancy icons depending on file types in dired
|
||||
buffers.
|
||||
|
||||
** Plugins
|
||||
+ [[https:https://github.com/syohex/emacs-dired-k][dired-k]]
|
||||
+ [[https://github.com/purcell/diredfl][diredfl]]
|
||||
+ [[https://github.com/stsquad/dired-rsync][dired-rsync]]
|
||||
+ =+ranger=
|
||||
+ [[https://github.com/ralesi/ranger.el][ranger]]
|
||||
+ =+icons=
|
||||
+ [[https://github.com/jtbm37/all-the-icons-dired][all-the-icons-dired]]
|
||||
|
||||
* Prerequisites
|
||||
|
||||
This module has no prerequisites *except on BSDs* where =GNU ls= (~gls~) is
|
||||
needed for it to work properly (Doom doctor will notify you if it is missing).
|
||||
|
||||
* Keybindings
|
||||
|
||||
| Keybind | Description |
|
||||
|-----------+------------------------------|
|
||||
| =SPC f d= | Find directory with dired |
|
||||
| =q= | Exit dired buffer |
|
||||
| =C-c C-r= | Run =dired-rsync= |
|
||||
| =C-c C-e= | Rename entries with =wdired= |
|
||||
|
||||
Other keybindings can be found on the official [[https://www.gnu.org/software/emacs/refcards/pdf/dired-ref.pdf][Dired reference card]].
|
|
@ -1,11 +1,15 @@
|
|||
;;; tools/dired/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
(def-package! dired
|
||||
(use-package! dired
|
||||
:commands dired-jump
|
||||
:init
|
||||
(setq ;; Always copy/delete recursively
|
||||
dired-recursive-copies 'always
|
||||
dired-recursive-deletes 'top
|
||||
;; Instantly revert Dired buffers on re-visiting them, with no message.
|
||||
;; (A message is shown if insta-revert is either disabled or determined
|
||||
;; dynamically by setting this variable to a function.)
|
||||
dired-auto-revert-buffer t
|
||||
;; Auto refresh dired, but be quiet about it
|
||||
dired-hide-details-hide-symlink-targets nil
|
||||
;; files
|
||||
|
@ -33,15 +37,15 @@
|
|||
"C-c C-e" #'wdired-change-to-wdired-mode))
|
||||
|
||||
|
||||
(def-package! dired-rsync
|
||||
(use-package! dired-rsync
|
||||
:general (dired-mode-map "C-c C-r" #'dired-rsync))
|
||||
|
||||
|
||||
(def-package! diredfl
|
||||
(use-package! diredfl
|
||||
:hook (dired-mode . diredfl-mode))
|
||||
|
||||
|
||||
(def-package! diff-hl
|
||||
(use-package! diff-hl
|
||||
:hook (dired-mode . diff-hl-dired-mode)
|
||||
:init
|
||||
(when (featurep! :tools magit)
|
||||
|
@ -51,7 +55,7 @@
|
|||
(diff-hl-margin-mode))
|
||||
|
||||
|
||||
(def-package! ranger
|
||||
(use-package! ranger
|
||||
:when (featurep! +ranger)
|
||||
:after dired
|
||||
:init
|
||||
|
@ -64,24 +68,24 @@
|
|||
|
||||
(set-popup-rule! "^\\*ranger" :ignore t)
|
||||
|
||||
(defun +dired*cleanup-header-line ()
|
||||
(defadvice! +dired--cleanup-header-line-a ()
|
||||
"Ranger fails to clean up `header-line-format' when it is closed, so..."
|
||||
:before #'ranger-revert
|
||||
(dolist (buffer (buffer-list))
|
||||
(when (buffer-live-p buffer)
|
||||
(with-current-buffer buffer
|
||||
(when (equal header-line-format '(:eval (ranger-header-line)))
|
||||
(setq header-line-format nil))))))
|
||||
(advice-add #'ranger-revert :before #'+dired*cleanup-header-line)
|
||||
|
||||
(defun +dired*cleanup-mouse1-bind ()
|
||||
(defadvice! +dired--cleanup-mouse1-bind-a ()
|
||||
"Ranger binds an anonymous function to mouse-1 after previewing a buffer
|
||||
that prevents the user from escaping the window with the mouse. This command is
|
||||
never cleaned up if the buffer already existed before ranger was initialized, so
|
||||
we have to clean it up ourselves."
|
||||
:after #'ranger-setup-preview
|
||||
(when (window-live-p ranger-preview-window)
|
||||
(with-current-buffer (window-buffer ranger-preview-window)
|
||||
(local-unset-key [mouse-1]))))
|
||||
(advice-add #'ranger-setup-preview :after #'+dired*cleanup-mouse1-bind)
|
||||
|
||||
(setq ranger-cleanup-on-disable t
|
||||
ranger-excluded-extensions '("mkv" "iso" "mp4")
|
||||
|
@ -91,13 +95,16 @@ we have to clean it up ourselves."
|
|||
ranger-hide-cursor nil))
|
||||
|
||||
|
||||
(def-package! all-the-icons-dired
|
||||
(use-package! all-the-icons-dired
|
||||
:when (featurep! +icons)
|
||||
:hook (dired-mode . all-the-icons-dired-mode))
|
||||
|
||||
|
||||
(def-package! dired-x
|
||||
(use-package! dired-x
|
||||
:unless (featurep! +ranger)
|
||||
:hook (dired-mode . dired-omit-mode)
|
||||
:config
|
||||
(setq dired-omit-verbose nil))
|
||||
(setq dired-omit-verbose nil)
|
||||
;; Disable the prompt about whether I want to kill the Dired buffer for a
|
||||
;; deleted directory. Of course I do!
|
||||
(setq dired-clean-confirm-killing-deleted-buffers nil))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue