add dirvish config

This commit is contained in:
2025-07-13 21:35:45 +02:00
parent e9ebe12f85
commit 0d1af13ccb
3 changed files with 417 additions and 0 deletions

View File

@@ -351,6 +351,67 @@ see `awesome-tray-mode-hook'"
(format "%s" (buffer-name))))
)
(use-package dired
:defer t
:config
(setq dired-listing-switches
"-l --almost-all --human-readable --group-directories-first --no-group")
;; this command is useful when you want to close the window of `dirvish-side'
;; automatically when opening a file
;; (put 'dired-find-alternate-file 'disabled nil)
(setq dired-mouse-drag-files t)
(setq mouse-drag-and-drop-region-cross-program t)
)
(use-package dirvish
:defer t
:init
(require 'dirvish-autoloads)
(dirvish-override-dired-mode)
:bind ; Bind `dirvish-fd|dirvish-side|dirvish-dwim' as you see fit
(("C-c f" . dirvish)
:map dirvish-mode-map ; Dirvish inherits `dired-mode-map'
(";" . dired-up-directory) ; So you can adjust `dired' bindings here
("?" . dirvish-dispatch) ; [?] a helpful cheatsheet
("a" . dirvish-setup-menu) ; [a]ttributes settings:`t' toggles mtime, `f' toggles fullframe, etc.
("f" . dirvish-file-info-menu) ; [f]ile info
("o" . dirvish-quick-access) ; [o]pen `dirvish-quick-access-entries'
("s" . dirvish-quicksort) ; [s]ort flie list
("r" . dirvish-history-jump) ; [r]ecent visited
("l" . dirvish-ls-switches-menu) ; [l]s command flags
("v" . dirvish-vc-menu) ; [v]ersion control commands
("*" . dirvish-mark-menu)
("y" . dirvish-yank-menu)
("N" . dirvish-narrow)
("^" . dirvish-history-last)
("TAB" . dirvish-subtree-toggle)
("M-f" . dirvish-history-go-forward)
("M-b" . dirvish-history-go-backward)
("M-e" . dirvish-emerge-menu)
("<mouse-1>" . dirvish-subtree-toggle-or-open)
("<mouse-2>" . dired-mouse-find-file-other-window)
("<mouse-3>" . dired-mouse-find-file))
:config
(setq mouse-1-click-follows-link nil)
(setq dirvish-quick-access-entries
'(("h" "~/" "Home")
("d" "~/Downloads/" "Downloads")
("m" "/mnt/" "Drives")
;; ("s" "/ssh:my-remote-server") "SSH server"
;; ("e" "/sudo:root@localhost:/etc") "Modify program settings"
;; ("t" "~/.local/share/Trash/files/" "TrashCan")
))
;; (dirvish-peek-mode) ; Preview files in minibuffer
(dirvish-side-follow-mode) ; similar to `treemacs-follow-mode'
(setq dirvish-mode-line-format
'(:left (sort symlink) :right (omit yank index)))
(setq dirvish-attributes ; The order *MATTERS* for some attributes
'(vc-state subtree-state nerd-icons collapse git-msg file-time file-size)
dirvish-side-attributes
'(vc-state nerd-icons collapse file-size))
;; open large directory (over 20000 files) asynchronously with `fd' command
(setq dirvish-large-directory-threshold 20000))
(use-package doc-view
:defer t
:delight (doc-view-mode "Doc") ;; "DocView" "\u01F153\uFF4F\uFF43"