103 lines
3.3 KiB
EmacsLisp
103 lines
3.3 KiB
EmacsLisp
;;; init-dired.el --- -*- lexical-binding: t -*-
|
|
;;
|
|
;; Filename: init-dired.el
|
|
;; Description: Initialize Dired and Related Configurations
|
|
;; Author: Mingde (Matthew) Zeng
|
|
;; Copyright (C) 2019 Mingde (Matthew) Zeng
|
|
;; Created: Thu Mar 14 11:37:00 2019 (-0400)
|
|
;; Version: 2.0.0
|
|
;; Last-Updated: Wed Dec 25 02:33:09 2019 (-0500)
|
|
;; By: Mingde (Matthew) Zeng
|
|
;; URL: https://github.com/MatthewZMD/.emacs.d
|
|
;; Keywords: M-EMACS .emacs.d dired auto-save
|
|
;; Compatibility: emacs-version >= 26.1
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
;;; Commentary:
|
|
;;
|
|
;; This initializes dired, super-save, disk-usage
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
;; This program is free software: you can redistribute it and/or modify
|
|
;; it under the terms of the GNU General Public License as published by
|
|
;; the Free Software Foundation, either version 3 of the License, or (at
|
|
;; your option) any later version.
|
|
;;
|
|
;; This program is distributed in the hope that it will be useful, but
|
|
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
;; General Public License for more details.
|
|
;;
|
|
;; You should have received a copy of the GNU General Public License
|
|
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
;;; Code:
|
|
|
|
;; DiredPackage
|
|
(use-package dired
|
|
:ensure nil
|
|
:bind
|
|
(("C-x C-j" . dired-jump)
|
|
("C-x j" . dired-jump-other-window))
|
|
:custom
|
|
;; Always delete and copy recursively
|
|
(dired-recursive-deletes 'always)
|
|
(dired-recursive-copies 'always)
|
|
;; Auto refresh Dired, but be quiet about it
|
|
(global-auto-revert-non-file-buffers t)
|
|
(auto-revert-verbose nil)
|
|
;; Quickly copy/move file in Dired
|
|
(dired-dwim-target t)
|
|
;; Move files to trash when deleting
|
|
(delete-by-moving-to-trash t)
|
|
;; Load the newest version of a file
|
|
(load-prefer-newer t)
|
|
;; Detect external file changes and auto refresh file
|
|
(auto-revert-use-notify nil)
|
|
(auto-revert-interval 3) ; Auto revert every 3 sec
|
|
:config
|
|
;; Enable global auto-revert
|
|
(global-auto-revert-mode t)
|
|
;; Reuse same dired buffer, to prevent numerous buffers while navigating in dired
|
|
(put 'dired-find-alternate-file 'disabled nil)
|
|
:hook
|
|
(dired-mode . (lambda ()
|
|
(local-set-key (kbd "<mouse-2>") #'dired-find-alternate-file)
|
|
(local-set-key (kbd "RET") #'dired-find-alternate-file)
|
|
(local-set-key (kbd "^")
|
|
(lambda () (interactive) (find-alternate-file ".."))))))
|
|
;; -DiredPackage
|
|
|
|
;; DiskUsage
|
|
(use-package disk-usage
|
|
:commands (disk-usage))
|
|
;; -DiskUsage
|
|
|
|
;; SuperSave
|
|
(use-package super-save
|
|
:diminish
|
|
:custom
|
|
(super-save-auto-save-when-idle t)
|
|
(auto-save-default nil)
|
|
(make-backup-files nil)
|
|
:config
|
|
(super-save-mode 1))
|
|
;; -SuperSave
|
|
|
|
;; SaveAllBuffers
|
|
(defun save-all-buffers ()
|
|
"Instead of `save-buffer', save all opened buffers by calling `save-some-buffers' with ARG t."
|
|
(interactive)
|
|
(save-some-buffers t))
|
|
(global-set-key (kbd "C-x C-s") nil)
|
|
(global-set-key (kbd "C-x C-s") #'save-all-buffers)
|
|
;; -SaveAllBuffers
|
|
|
|
(provide 'init-dired)
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;; init-dired.el ends here
|